趣味→副業→本業として個人開発を続けて約8年、ようやく「暗記メーカー」というアプリで100万DLを突破することができた。現時点(2024)の自分が24歳なので、人生のおよそ3分の1をこのアプリと過ごしたことになる。(体感時間的にはもっと長いかも)
これまで「どう続けているのか」という部分は過去にLT等で話す機会があったが、今回は「なぜ作ったのか」「なぜ続けて来たのか」について書いてみる。
これまで自分がいろんな方の記事を見て刺激を受けてきたように、この記事が少しでもアプリやサービスを開発している誰かの刺激になれば幸いである。
アプリについて
「暗記メーカー」とは、その名の通り自作の問題集を管理するアプリである。
中身としては「作問」「解答」「共有」に特化したシンプルな作りとなっており、試験勉強をする学生をサポートするアプリとなっている。ASO施策やユーザ間の口コミでじわじわとユーザ数を伸ばし続け、この度ようやく100万DLを突破した。
↓インストール数の推移(iOS)
プログラミングとの出会い
中学生の頃、何を思ったか「ゲームってどうやって作られてるんだろう?」というのが気になり、家にあった親のノートPCで色々調べていた記憶がある。小さい頃からゲームが好きだったので、その延長線上だったのだろう。その中で個人の熱の入ったブログをいくつか見つけ、書いてあるがままにツールをインストールしたりコードをコピペしたりして遊んでいた。
今思えばこれを「プログラミング」と呼んでいいのかは怪しいが、コードの切り貼りや数字を変えて色々試す中で「作ったものがその通りに動くこと」が楽しいと思えたのが一番大きかった気がする。
↓当時お世話になったブログの一つ
アプリ開発との出会い
その後高校生になり、図書館で偶然 Android アプリ開発の書籍と出会う。
過去に触っていた言語が Java だったこと
持っていたスマホが Android 端末だったこと
という背景もあり、書籍片手にサンプルアプリの開発(およびその改造)にのめり込んでいった。
そうして「メモ帳」「天気予報」「パズルゲーム」... など色々アプリを作っている中で「自分のテスト勉強のためのアプリが欲しい」となり、自作の単語帳アプリを開発した。これが「暗記メーカー」の原型となっている。
また、書籍にアプリのリリース方法についても記載されていたこともあり、この頃からPlayStoreへのアプリの公開を始めた。
今でこそPlayStoreでは「20人のテスターを集めて14日間テストする」「開発者の身元確認」といったアプリを出すまでの工数がかかるものとなっている。ただ、当時は(確か)そういった制限は存在せず$25の登録料を払えばリリースし放題だったので、アプリが完成したらとりあえずストアに公開していた。
基本的に出したアプリは鳴かず飛ばずだったが、その中で「暗記メーカー」だけは定期的にダウンロードが発生していたため、ユーザからのフィードバック等を参考にアップデートを続けるようになっていった。
自分で使うだけだったらアップデートはあまりしていなかった気もするので、「自分の作ったものが少なからず誰かの役に立っている」というのが開発を続ける動機になっていたのだと思う。
その他にも、当時ブログやYoutuberの広告収入がある程度一般化してきたこともあり、アプリの収益化にも挑戦した。仕組みを調べる苦労だけでなく、親を説得して保護者の同意を得るなど技術面以外に苦労した部分もあったが、なんとかバナー広告を導入できた。
その後最初の8000円(振込基準額)を得るまでに半年以上かかったものの、まだバイト等の経験がなかった自分にとっては「金額はどうあれ自分の作ったものでお金を生み出す」という一種の成功体験が得られたのが大きかった。実際、その実績をもとに親から自分用PCを買うためのお金を借りることができた。
当時のやりとり
自「AdMobっていうのに登録してアプリに広告を貼ったらお金が稼げて...」
親「は?」
自「一定額収益が発生したら振り込みしてもらえる仕組みになってて...」
親「は?」
自「保護者の情報で登録するために口座情報とか教えて欲しいです」
親「何それ、あんた怪しい詐欺に巻き込まれてるんじゃないの?」
ここまで書いたことをまとめると
自分が欲しいものをつくり
それが見ず知らずの誰かの役に立ち
お金がもらえる
という経験が、今まで個人開発を続けてきた根幹になっている気がする。
ただ、この時点では「作りたいもの駆動でひたすらググってコードを切り貼りしていく」ような進め方で開発をしており、コードの品質はお世辞にも良いとは言えなかった。(よくわかんないけど動くからまあいいか... 的な状態)
そういった中で、「開発ツールの使い方」だけでなく「その仕組み」を知りたいという思いが強まり、大学では工学(情報系)を専攻することにした。
大学生活
個人開発から趣旨が逸れるので長くは書かないが、自分の大学生活は、ひたすら技術に触れていた4年間だったように思う。
普段の授業ではコンピュータについての基礎的な部分を学ぶ
個人的にはコンパイラやCPUの実験が楽しかった記憶
長期休みに企業のインターンに参加し、開発の実務的な部分を学ぶ
git の運用、アプリの設計、リリースフロー...
結果として就職活動にもなっていた
サークル活動や地元でのアルバイトで、ゲームやWebサービスを開発する
チームを動かす経験、運用フローを一から決めていく経験...
そうして様々な面から技術に関わる中で「暗記メーカー」は、得られた知識や経験のアウトプット先としての役割を果たしていた。
この時開発を続けていたモチベーションとしては「ユーザの役に立つものを作ろう」というのは前提としてありつつも、技術的な好奇心が大部分を占めていたように思う。(当時書いていた記事からもなんとなくその雰囲気を感じる)
就職
大学を卒業し、インターンでお世話になった会社のうちの一社に入社する。
なお、当時独立するつもりは全くなく、「副業として個人開発ものんびり進めていきたいな」くらいの気持ちだった。
入社してからは新規アプリの開発を任され、Flutter アプリを1から設計、開発していくこととなった。技術的に得られることがあったのはもちろんのこと、それ以外にも幅広い知識、経験を得られた。
特に、チーム内で様々な職種の人と話す機会が得られたのは大きかった。他の人の話を聞いていく中で、今までエンジニアとして重視していた「どう作るか(開発)」という部分だけでなく
どう伝えるか(デザイン)
どう広めるか(マーケティング)
どう売るか(マネタイズ)
...
といった要素全てがものづくりにとって必要不可欠なものである、と感じるようになった。また、それと同時に今まで自分の育ててきた「暗記メーカー」で開発以外の部分も含め全部やってみたいという思いも強まっていった。
こうして、やりたい事の増えるスピードは学生時代よりも加速度的に上がっていったものの、週5で働いているため学生時代ほどの自由な時間はないというジレンマに陥ることになる。
そして就職から1年経った頃、以下の背景も踏まえ独立して個人開発者になることを決めた。
任されていたアプリのリリースまで完遂したこと(仕事のキリが良かったこと)
当時の「暗記メーカー」が、最低限自分自身の生活費分は稼いでいたこと
年を取るほど会社を辞めるリスクが上がると思ったこと
独立
独立してからもうじき1年経つが、この1年はひたすらに「やりたいことリスト」を消化する毎日であった。「プロダクト開発はあの手この手でユーザ数、滞在時間、売上... というスコアを伸ばすゲームのようなもの」というモチベーションで、できることはなんでもやる精神で取り組んだ。
取り組んだこと(抜粋)
デザイン系
デザインガイドラインの調査、導入
ユーザに驚きを「与えない」デザインを意識するようになった
複数レイアウトの A / B テスト
自分の主観が当てにならないことがわかった
開発系
アプリ側にて Swift / Kotlin → Flutter へのリプレイス
およそ2日に1回くらいのペースで審査に出せるようになった
GitHub Copilot を活用した開発スピードの向上
Copilot が予測しやすいように設計、命名する意識がついた
マーケ系
ローカライズ(ChatGPTによる機械翻訳)
「ないよりはマシ」という考えで、70ヶ国語対応した
広告出稿
マネタイズ系
サブスク導入
今では売上の半分を占めるようになった
メディエーション導入
また、場合によってはその日思いついた施策をその日中にリリースする日もあり、こういった進め方ができるのも個人開発の醍醐味だなと思う。一人なので意思決定のスピードが早いというのもあるが、直近だと GitHub Copilot や ChatGPT のような優秀な手足の登場により、手を動かす部分のスピードも大分上がってきたように感じる。
そうして色々アプリに手を加えたおかげか、100万DLのうち30万DLほどをこの1年で得ることができた。「会社を辞め独立する」というリスクを取ったことによって、一定プロダクトの成長を加速させることはできたのかな...と思う。(思いたい)
おわりに / 今後
振り返ってみると、将来のことなど対して考えていない時に作った個人開発のアプリが進学先の決定や就職後のキャリアに深く関わっており、結果として自分の人生に多大な影響を与えたものとなっている。
偶然の連続とはいえ、ここまできたからには数年後数十年後の自分が「このアプリを開発して良かった」と胸を張って言えるよう、これからもこのアプリを持続可能なプロダクトとして育てていきたい。
また、色々調べて手を動かす中で、プロダクトを成長させるだけでなく自分自身の知ってることやできることが少しづつ増えていく過程も楽しみたいと思う。