【個人開発】1年半で3つアプリを作って学んだこと5選
私は1年半で3つのアプリを個人開発したものの、失敗だらけでした。
正直、ほぼ売上が無いようなものなのですが、自分なりに色々チャレンジはしたので、
失敗で得た教訓をまとめてみます。
これから個人開発をする人の参考になればうれしいです!
作ってきたもの
空きコマで日程調整できるサービス - Comma
まず作ったのは、大学生向けの日程調整サービスでした。
自分の空きコマを入力して、メンバーと日程調整するサービスです。
詳しい内容は過去の記事に書いてます。(めんどくさがり)
最初は、LaravelとVue.jsを使ってWebアプリを開発しました。
その後、React Nativeを使ってiOSアプリもリリースしました。
Web版↓
iOS版↓
みんなの違いが答えのクイズゲーム - Knowee!
サークルの友達と2人でオンラインゲームも開発しました。
(コーディングはほぼ自分なので個人開発としてカウントさせてください🙏)
みんながお題に対してどんな回答をしたのか当てるパーティーゲームです。
UnityとPhotonを使ってなんとか開発しました。
開発の苦労話などは過去の記事に書いてます。(めんどくさがり)
1. 開発期間はマジで短くする
1年半、とりわけ大事なのにできていなかったこと。
それは短期間で開発することです。
個人開発をやっていると、悩み事が無限に出てきます。
デザインどうしよ
データの扱いどうしよ
ユーザー認証どうしよ
あっという間に1ヶ月が過ぎてしまいます。
プロダクトが成功するかどうかは、リリースしないとわかりません。
私の場合、
Comma(Web)→ 5ヶ月
Comma(iOS)→ 5ヶ月
Knowee! → 10ヶ月
かけてしまいました、、
作る時間を短くして、すぐリリースする。
実際に触ってもらい、フィードバックをもらって改善する。
私は「PDCAを回す」というビジネス表現を毛嫌いしたのですが、
今になって痛いほどわかるようになりました。
個人開発で時給10ドルから年収150万ドルになったMarc Lou氏は
彼の動画の中で「開発期間を短くしろ」と主張しています。
30以上のアプリが失敗に終わったものの、
1週間で作ったサービスが大ヒットした彼には説得力があります。
Marc Lou氏のストーリーはとても面白いのでオススメです。
2. 技術にこだわりすぎない
これは個人開発を始めたてのときにハマりがちな罠です。
プロダクトにとって、開発は1つの工程に過ぎません。
開発の他にやることを挙げると、
- 需要調査
- 競合分析
- デザイン考案
- 仕様定義
- ロゴ、OGP、スクリーンショットなどの作成
- マーケティング
などたくさんあります。
プロダクトを成長させるためには、これらの作業も大切です。
なので、技術的な話に囚われすぎないことが大事です。
開発の知識が増えてくると、技術的な判断に時間をかけすぎたりします。
しかし、ユーザー側が見ているのは、そのアプリで何ができるかです。
エンジニア界隈では、流行りのものを使って、高度で複雑な技術スタックを組むのが
すごいという風潮があります。
しかし、それを個人でやるのはあまりにもコスパが悪いです。
個人開発でまず目指さなきゃいけないのは0→1です。
技術にこだわって作っても、1にしないと意味がありません。
最近、私は頭でっかちになって、
手が動かないことが増えてきたので、気をつけようと思っています。
3. 認知の壁を意識する
今の御時世、あらゆるジャンルのサービスで溢れかえっています。
個人開発は大海にちっちゃい孤島を作るようなものです。
自分でアクションを起こさないと認知してもらえません。
どれだけ良いものを作ろうが、認知されないと0のままです。
そのため、ターゲット層とそこへの届け方を意識することが大事だと学びました。
1番手っ取り早い方法は、広告を打つことだと思いますが、
個人資金で広告費を払うのはハードルがあります。
0→1になるかもわからないプロダクトの広告を打つのは一種の賭けです。
(筆者は広告掲載に詳しくないため、ハードルを感じる)
個人的には、SNSや記事を投稿して認知度を上げるのが現実的だと思います。
Xはテキストと画像ベースであるため、必要な労力もYouTubeやTikTokより小さく済みます。
なので、SNSならXが良いのかなと感じています。
画像とともに進捗報告などをして、プロダクトの認知を上げることができます。
バズればユーザー流入のチャンスになりますし、やらない手は無いかなと思います。
↓過去のプチプチバズリ投稿
4. 立ち上げフェーズはWebで十分
Commaという日程調整サービスはWebとiOSに対応しています。
なぜiOSアプリを作ったかというと、
- 生体認証でログインのハードルを下げたかった
- WebのAdsense審査が通らず、iOSのAdmobを使いたかったから
- App Storeからの流入を期待していたから
というのが理由です。
正直、iOSにも展開するならWebを改善するほうが良かったなと思っています。
Webアプリは色んなプラットフォームからアクセスできるから
1つ目の理由は、Webアプリは色んなプラットフォームからアクセスできるからです。
端末にブラウザさえあれば、Webアプリにアクセスできます。
よっぽどネイティブ機能が必要でない限り、Webで作ったほうがいいかなと思います。
企業プラットフォームに依存しないから
2つ目の理由は企業プラットフォームに依存しないからです。
iOSで出す場合はApp Store、AndroidならPlay Storeにリリースすることになります。
これらのデメリットは、企業側の規則に従わないといけない + 販売手数料を取られることです。
一方で、Webは企業プラットフォームに依存せず、販売手数料も比較的安くで済みます。
また審査も必要がなく、すぐにアップデートを反映できます。
こういったことから、企業に依存しないことはとても大きなメリットです。
Webアプリのほうがメンテナンスしやすいから
3つ目の理由はWebアプリのほうがメンテナンスしやすいからです。
Next.js、Ruby on RailsやLaravelといったフルスタックフレームワークを使えば、
フロントエンドとバックエンドを効率的に開発できます。
モバイルの場合、クライアントとサーバーがはっきり分かれており、整合性を取るための労力がかかります。
また、モバイルの方がビルドエラーなどで頭を悩ませることが多いような気がします。
全体的にWebアプリの方がメンテナンスしやすいと思います。
(筆者はWebメインなので、考え方が偏っているとは思う)
5. 設計図を作る
Commaという日程調整サービスは設計図なしで開発しました。
その結果、とても汚いコード、DBで動かす羽目になりました。
また、デザインの変更を何回も行い、無駄な時間が多かったなと思います。
デザインやDBの設計図を書いておくと、よりコーディングに集中でき、
修正の工数も減らすことができます。
仕様を客観的にチェックすることもでき、プロダクトのクオリティーが上がります。
宣言的UIが主流になったため、デザインをあらかじめイメージすることが大事です。
デザインドラフトがあると、必要なコンポーネントを予想でき、開発が進めやすくなります。
個人開発でも、最低限の設計図は書くべきだと思います。
ただ、設計図に時間をかけすぎるのも良くないので、ラフに書けば良いのかなと思います。
最近は、デザインドラフトはFigmaで作って、ER図などはFigJamで作ってます。
ドラフトが進むと、イメージが落とし込まれていって楽しいです。
開発中アプリのデザイン↓
開発中アプリのミドルウェア処理の図↓
さいごに
ここまで読んで頂きありがとうございました!
最近、翻訳×単語帳の学習サービスを開発していて、ベータテスターを募集しているので
興味ある方はぜひ覗いてみてください↓
Discussion