「もしもの人生」を可視化するWebアプリをリリースしました!
「並行世界」をリリースしました!
こんにちは!今回、「もしもあの時、違う選択をしていたら...」という想像を形にするWebアプリ「並行世界」を作ってリリースしました🎉
どんなアプリ?
簡単に言うと、人生の分岐点での「もしも」を物語として生成してくれるアプリです。
- 「あの時、告白していたら...」
- 「違う大学に行っていたら...」
- 「転職していたら...」
こんな「もしも」の選択を複数組み合わせて、パラレルワールドの物語をAIが生成してくれます。
使い方
この画像のように今までの人生の分岐点を登録していきます。
すべて登録を終えたら、生成ボタンをクリック。
「もしも」の物語が生成されます。
技術スタック
フロントエンド:Next.js + TypeScript + Tailwind CSS
バックエンド:FastAPI + Python
AI:OpenAI GPT-5-mini
データベース:PostgreSQL(supabase)
デプロイ:vercel, Render
シンプルな構成ですが、個人開発なのでサクッとほぼ無料で作れるように工夫しました。
作った理由
人生って選択の連続じゃないですか。
でも選ばなかった道がどうなっていたかって、想像するしかない。
そんな「もしも」を楽しく可視化できたら面白いなと思って作りました。重い人生相談アプリではなく、気軽に「もしも」を楽しむことがコンセプトです。
開発で大変だったところ
1. Render無料プランのコールドスタート問題
一番苦労したのがこれ。
Render無料プランだと15分でサーバーがスリープするので、E2Eテストが全然通らない😅
PlaywrightでのE2Eテストが:
- タイムアウト連発
- 成功率50%くらい
- 新規登録フローが特に不安定
解決策:
- グローバルセットアップでサーバーウォームアップ
- タイムアウトを30秒→90秒に延長
- 並列実行を停止してサーバー負荷軽減
結果、成功率100%まで改善しました!
2. AIプロンプトの調整
複数の「もしも」からリアリティがありながらも面白く読める物語として生成するのに工夫が必要でした。
最初は:
- 教科書的で面白くない文章
- キャラクターが薄い
- 展開が予想通り
改善した点:
- ジャンル自動判定(恋愛、キャリア、学術など)
- 具体的なシーン描写を指示
- 感情の変化を重視
- ユーザーの入力を活かした個別化
結果、ラノベ風に簡単にワクワク読める並行世界を作成することができるようになりました。
3. 多言語対応
日本語と英語に対応させたんですが、AIの出力も含めて多言語化するのが予想以上に複雑でした。
next-intlで基本的な多言語化はサクッと行ったのですが、その後の細かな調整で手こずりました。
- AI生成テキストの言語判定
- UI/UXの言語による調整
使ってみてほしい!
無料で5つまで並行世界を作れるので、ぜひ試してみてください!
気軽に「もしも」を楽しんでもらえたら嬉しいです。
フィードバックや感想があれば、ぜひコメントやXの#並行世界 付き投稿で教えてください🙏
Discussion