個人開発でAIサービスを立ち上げた最初の1ヶ月でやったこと
アイデアの着想からプロトタイプ開発、そして最初のユーザーに触ってもらうまで。個人開発でTabideaを立ち上げた最初の1ヶ月のリアルなタイムラインと反省点を公開します。
こんにちは、Tabidea(タビデア)開発者の Tomokichi です。
「よし、AIを使って旅行計画アプリを作ろう!」 そう思い立った日から、Tabideaの最初のプロトタイプが動き出すまでの最初の1ヶ月は、本当に嵐のような日々でした。
今回は、個人開発でAIサービスを立ち上げる際に最初の1ヶ月で何を考え、何を作り、何に失敗したのかというリアルなタイムラインを共有したいと思います。 これから個人開発を始めようとしている方の参考になれば嬉しいです。
第1週:アイデアの検証と「作らないこと」の決断
最初の1週間は、コードを一行も書きませんでした。 ひたすらやっていたのは、「自分が旅行で感じている課題は、他の人も感じているのか?」の検証です。
- 友人や同僚、計5人に「旅行の計画ってどうやって立ててる?」とヒアリング
- 既存の旅行系AIサービス(海外のアプリも含めて)を触り倒す
- 自分の理想とする体験をFigmaでざっくり描く
ここで気づいた最大の学びは、みんな、AIにすべてを勝手に決めてほしいわけではないということでした。「提案はしてほしいけど、最後は自分で選びたい」という声が圧倒的に多かったのです。
このインサイトを得たことで、Tabideaは「完全自動の旅行生成ツール」ではなく、「ユーザーの意図を汲み取って提案を返し、インタラクティブに調整できるツール」にするというコアコンセプトが固まりました。
第2週:プロトタイプの爆速開発(Next.js + OpenAI)
コンセプトが固まった第2週から、いよいよ開発スタートです。 最初は「動くもの」をとにかく早く作ることを最優先し、技術スタックも自分が一番使い慣れている Next.js と Tailwind CSS を選びました。
この時期の最大の壁はLLM(OpenAI)のプロンプトエンジニアリングでした。 AIに「1日の旅行プランを考えて」と投げても、平気で「移動に2時間かかる場所を10分で移動する」ような、物理法則を無視したプランが返ってきてしまいます。
この1週間は、ひたすらプロンプトを調整しては実行し、JSONフォーマットが壊れないように格闘する毎日でした。(この辺りの泥臭い話は、過去の記事でも詳しく書いています)
第3週:UIの作り込みと「引き算」の苦悩
バックエンドでなんとなく旅行プランが出力できるようになってきた第3週。 次はそれを画面にどう表示するか(UI)の設計です。
最初は「天気」「予算」「カロリー」「混雑度」など、AIが出力できる情報をすべて画面に詰め込もうとしていました。しかし、出来上がった画面を見ると、まるで業務用エクセルのダッシュボードのような息苦しさがありました。
「これでは旅行のワクワク感が死んでしまう」 そう気づき、泣く泣く大半の情報を削り落としました。結果として、今のTabideaのような「タイムライン」と「地図」だけをシンプルに見せるUIに落ち着きました。「引き算のデザイン」の難しさを痛感した1週間です。
第4週:最初のユーザーテストと「絶望」
開発開始から約1ヶ月。なんとか「条件を入力すると、旅行プランが地図付きで表示される」というMVP(Minimum Viable Product)が完成しました。
さっそく、第1週でヒアリングに協力してくれた友人たちに使ってもらいました。 結果は……すごい! でも、どうやって直すの? でした。
AIが作ったプランに対して「ここだけ別の場所に変えたい」「順番を入れ替えたい」と思った時、それを直感的に操作するUIが圧倒的に不足していたのです。 「AIが作るだけではダメだ。編集する体験こそが本質なんだ」ということに気づかされ、そこからさらにフロントエンドの改修(ドラッグ&ドロップなどの実装)に没頭していくことになります。
まとめ:最初の1ヶ月で得た最大の学び
個人開発の最初の1ヶ月を振り返って思うのは、完璧なものを作ろうとせず、早く恥ずかしいレベルのものを人に見せることの重要性です。
自分の頭の中にある「最高のアプリアイデア」は、いざ形にして人に触ってもらうと、大半がズレています。 それに早く気づけたことこそが、この1ヶ月の最大の収穫でした。
もし今、何かを作ろうと迷っている方がいたら、まずは週末の2日間だけでもいいので、簡単なプロトタイプを作ってみてください。そこからすべてが始まります。