個人開発のフィットネスアプリがリリースから1ヶ月で1000ユーザーを突破した話
Anytime Journey(エニタイムジャーニー)というフィットネスアプリを週末の趣味の時間で開発&リリースしました。リリースしてから約1ヶ月で予想外にも1,000ユーザーを突破しました (現時点で1,184ユーザー)。その記念に今回の記事はこの趣味アプリについての記事を書きます。
このアプリの開発は元々Flutterの勉強兼ねて土日の趣味で始めたものでした。今年の3月くらいから開発を始めて7月はなんとかリリースまで最小の機能で実現しました。リリース後、想像していた10倍以上のスピード感でユーザーが勢い増えていきました。現在は、引き続き趣味開発ではありますが、実際に使ってくれるユーザーさんが付くと私自身このアプリに対する考え方が変わってきています。今はユーザーさんのご要望に応えるべく機能拡張・改善活動に追われています。
もし読者の方がエニタイムフィットネスに通っている方でしたら、まずは以下のリンクからインストールして使ってみてもらえると嬉しいです。
iOS版: https://apps.apple.com/jp/app/anytime-journey/id6451079440
Android版: https://play.google.com/store/apps/details?id=net.anytimejourney.app
このアプリを開発したモチベーション
このアプリを作ったきっかけは、私自身が去年からジムにハマったことに遡ります。昨年パーソナルトレーニングに通った時に、ジムに通うことがとても楽しくなりました。今はパーソナルトレーニングは解約しましたが、現在はパーソナルトレーニングで得た知識(マシンの使い方など)を活用してエニタイムに通うのが楽しくなってしまいました。
私は大体週3日のペースでジムに継続的に通っています。私の目標はアラフォーとしてカッコいいスタイルを保つこと、イケおじを目指すことです笑
目標を達成するためには習慣化することが最も重要です。私の経験上ジム通いの継続のコツは、とりあえずなんとしても足を運んでジムへ行くことです。頑張ろうと気合を入れなくても良く、1種目だけで良いので軽めに体を動かす気持ちでとにかく足を運ぶことがポイントです。ジムに行って1つマシンを使って筋トレを始めれば、なんだかんだ結構やってしまうものです。
そのために、一旦ジムに足を運ぶ、という点にフォーカスしたアプリを開発しました。
開発したアプリについて
一言で言うと、近くのエニタイムを探せて、チェックインという機能を通じてジムに継続的に通う記録を残せて継続的に目標を達成する支援を行うアプリです。
このアプリの機能
今は少し拡張されていますが、リリース当初の機能は以下だけでした。
現在地から近くのジムを探せる
チェックイン = ジムを指定して通った記録をつけることができる
振り返ることができる
お気に入りをすることができる
リリース時のX投稿。
現在継続的に改善を進めており、「みんなのチェックインが見れる機能」と「連続達成を祝福する機能」なども追加されています。
このアプリの狙い
このアプリはあらゆるジムを対象とせずに、あえて1つのブランド(今回はAnytime Fitness)にフォーカスさせています。
私自身エニタイムに通って思ったのは、そのブランドがかなり確立されているという点です。世界中どのエニタイムどの時間に行っても、同じエニタイムの体験を得られます。私の周りでエニタイムに通っている方と話しても、かなりの確率でエニタイムが好きという方が多く、私自身含めて熱狂的なファンが多いブランドであることに気づきました。
そのような熱量の高い人にターゲティングするためにブランドを一つに絞ってアプリを設計しました。
フィットネスは継続がキーワード
上述した通り、ジムはとりあえず行くこと・習慣化すること、それがフィットネスに通っている目標を達成するために最も意識すべきポイントです。
アプリ設計の際に英語学習アプリは大変参考になりました。英語の学習もフィットネスと同じく継続がキーになります。日常的に学習できなければ英語力は上達できません。
そのような英語アプリの調査を通じて、継続するためにモチベーションを高める方法として、自分自身で振り返る形式(バッジ機能など)と他者がいることを重視する形式(ランキング機能など)の2パターンがあることに気づきました。
このアプリでは、そのような2つの観点で継続を支援する仕組みを持たせています。振り返って表彰されることでモチベーションを高める方向性と、他の方のチェックインを見て競争意欲を駆り立てる方向性です。このアプリまだシンプルですが、今後多くの仕掛けを持たせられる可能性があり、色々な機能を追加予定です。
リリース後の伸びについて
リリースしてから広告など一切に無しに毎日30前後のユーザー新規登録があります。チェックインも毎日20-30投稿はされています。全国で使われており、中には週6ペースでチェックインをしてくれるヘビーユーザーの方もいます。
7日連続達成している強者ユーザーさんもおりました。
このアプリを使って日々記録を行い楽しんでくれているユーザーがいるという事実は開発者として一層モチベーションが上がります。一方、開発は平日夜もしくは土日の余暇の時間でしか避けられないジレンマはあります。
もし開発手伝いたい方がおりましたら、金銭報酬は難そうなのでレベニューシェアのような形式でよければいつでも歓迎です。
開発スタック
開発はサーバーサイドはNestJS ( https://nestjs.com/ )、クライアントサイドは Flutter ( https://flutter.dev/ ) を採用しました。
Nestはとにかく開発体験が良いです。SwaggerベースでAPIを開発でき、TypeORMでデータベース周りの実装を行っています。
Flutterは今回がっつり触るのは初めてで色々苦戦しました。例えば、dartであること、レンダリングとデータ更新のタイミングにコツが必要など、Flutterでハマりそうなところは一通り踏みました。別途、技術に関しては記事でも書こうと思います。ベストプラクティスは引き続き模索中ですが、総合的はFlutterを採用して良かったです。
マネタイズは..?
趣味でプログラミングしたい + 自分で使えるものを作りたいというモチベーションから開発を始めたアプリだったため、特にマネタイズは考えていませんでした。
しかし、もしこのペースで万単位でユーザー数が増えればデータの価値も高まるため、フィットネス商品広告などを代表にマネタイズの可能性は広がります。特にチェックイン時に記録する混雑度などのデータが集まれば、このサービスしか持っていないデータの競合優位性も出てくるため、さらにユーザーを惹きつけられる価値を持てる可能性があります。
また、このアプリは強いブランドがあり多くのファンがいる点に着目しています。このモデルでもしアプリが健全に伸びるのであれば、ブランド力があり多くの場所に存在する教室など何か通うことを継続したいモチベーションがある分野にはそのまま同様にこのアプリの仕組みが適用できると考えられます。そのような領域に発展させることでアプリのソースコードを販売するような可能性もあり得ます。
他にもすこし突飛なアイデアですが、将来はジム運営元からマーケティング費用をもらい、Web3ウォレットと繋げて継続できている人にはインセンティブを支払うような仕掛けも面白いと考えています。
このようなC向けアプリのマネタイズは簡単ではないですが、ユーザーに楽しんでもらえるアプリとして継続的に改善活動を進めることができれば、なんらかの可能性は見えてくると信じて進めていきます。
趣味アプリを続けるコツ
最後に趣味アプリを続けるコツの紹介です。
このアプリのコンセプトでもある"継続"に関しては、この趣味アプリの開発自体を続ける活動にも同じことが言えます。
普段フルタイムで仕事をしている中で、趣味アプリ開発で実際にユーザーをつけることはなかなか思い立っても実現まで持っていくのは難しいと思います。
私が個人開発をする際に、おすすめする方法は"もくもく時間"を取ることです。土日に決まった時間を同僚や友人などと一緒に、カフェなどで同じ空間を共有してもくもく作業をする時間をとって、自分が使いたいものを作る時間を強制的に確保する方法です。
私はDevMorningという朝活をよく活用しています。自分で立ち上げるのも良いですし、すでにある活動に参加してみるのも良いでしょう。
本家devmorning: https://devmorning.connpass.com/
SG devmorning: https://www.meetup.com/sg-devmorning/
BKK devmorning: https://www.meetup.com/bkk-devmorning/
Tokyo devmorning: https://www.meetup.com/dev-morning/
HCMC devmorning: https://www.meetup.com/saigon-devmorning/
[New] Fukuoka devmorning: https://www.meetup.com/fukuoka-devmorning/
それでは皆さんも一緒に開発もくもくして、個人開発アプリをリリースしていきましょう!