16時間でアプリの企画・開発・リリースした話
対象者
- AIを活用し、開発のコストを減らしたいと考えている事業者
はじめに
開発案件をやっていて、たまには違う技術を使ってみたいと思うことはありませんか?(私はあります)今回は、個人開発でどこまで早くアプリを企画・開発・リリースできるかを挑戦したので共有します。
なお、この記事もAIにリポジトリの中身を解析して書いてもらっています。(最低限の校正はしています)
プロダクト概要
Wikipedia Golfとは
Wikipediaの記事リンクを辿って、スタート記事からゴール記事まで最短で到達することを競うWebゲームです。

※この画像もChatGPT-5に作ってもらいました。
開発スペック
-
開発時間: 16時間(企画2h + 実装12h + デプロイ・調整2h)
-
技術スタック: Next.js 15, React 19, Prisma, Supabase, Vercel
-
主要機能:
- デイリーチャレンジ
- ランダム生成モード
- カスタムモード(任意の記事でプレイ)
- リーダーボード
- 多言語対応(日本語、英語、中国語)
- PWA対応
- 記事内検索(Ctrl+F)
- Google AdSense統合
-
利用したAIツール:
- ChatGPT-5(企画立案)
- Google Stitch(UIプロトタイプ生成)
- GitHub Copilot(コーディング支援)
成果
- ✅ 即日リリース
- ✅ SEO完全対応(構造化データ、sitemap)
- ✅ モバイル対応・レスポンシブデザイン
第1章: 企画プロセス
ChatGPT-5による企画立案
従来の企画立案では、ブレインストーミングや市場調査に膨大な時間がかかりました。今回は自身の経験と課題感をChatGPT-5に入力し、以下を出力してもらいました:
- ゲームコンセプト
- ターゲットユーザー
- マネタイズ戦略(広告、課金要素)
- 技術的実現可能性
ポイント: 人間は「何を作るか」ではなく「何が売れるか」の判断に集中する。AIに任せられる部分は任せる。
Google Stitchでプロトタイプ生成
ChatGPTの企画を Google Stitch に流し込み、UIプロトタイプを数分で生成しました。
Input: ChatGPTが生成した企画書
Output: インタラクティブなUIプロトタイプ

※Wiki Golfが作りたいと書いただけでトップページや実際のプレイングのイメージなどをAIで作成してもらいました。
このプロトタイプをベースに実装を開始することで、デザイン工数をほぼゼロにできました。また、実際にデザインが出来上がると、この機能も必要そうだな...と、追加の機能なども考えられるようになりました。
なぜ高速企画が重要だと思ったか
これからのビジネスは、AIを活用することでより高速にPDCAを回せるかが重要になるかと思いました。私の経験則にはなりますが、単なるプログラマーとして、フロントエンドができる、バックエンドができる...ではなく、それらの要素技術を組み合わせ、マーケティングやセールスも含めた「開発力」が重要になると考えています。
※ 登大遊さんの「秘密のNTT電話局、フレッツ光、およびインターネット入門」の「第1節 システム領域 (コンピュータシステム、インターネットシステム、通信システム) を深く理解することの重要性」の内容に大きく影響を受けているところではあります。
もちろん大規模なシステム開発になると、利害関係の調整などの要素も絡んできますが、それでも世の中の方向性としては、より早くPDCAを回し、市場検証を繰り返し、成功確率を上げることが重要になると思います。
私自身、普段は開発者としてきちんとした設計になっているか、保守性が高いか、テストが十分かなどを意識していますが、今回はあえて売上にならないコードは不要と割り切り、高速PDCAを最優先にしました。
第2章: 技術選定の思想 - 長期的視野とPoC最適化の両立
技術選定について
個人的に技術選定で最も重要なのは、「将来のビジネスに対して保守性・拡張性があるか」だと思います。
❌ 避けるべき短絡的判断
「NoSQLは簡単だから使おう」
→ 業務要件が膨れ上がると検索要件が増加
→ RDBMSを使えばよかった...(手遅れ)
✅ あるべき思考プロセス
1. 長期的な要件を予測
- データ構造は複雑化するか?
- リレーションは増えるか?
- トランザクション処理は必要か?
2. PoCと本番の両方を見据える
- PoC: 高速開発できるか?
- 本番: スケールするか?コスト最適化できるか?
3. 移行可能性を担保
- ベンダーロックインを避ける
- 標準技術・OSS優先
Wikipedia Golfの技術選定
| 技術 | 選定理由 | 長期的視野 |
|---|---|---|
| Next.js 15 + React 19 | SSR/SSG、SEO対応、最新パフォーマンス | 安定版への移行も容易、コミュニティ巨大 |
| PostgreSQL (Supabase) | RDBMS、複雑なクエリ対応、トランザクション | 自前PostgreSQLへ移行可能(標準SQL) |
| Prisma | スキーマ駆動、型安全、マイグレーション自動化 | どのPostgreSQLでも動作、本番でもそのまま使える ✅ |
| Tailwind CSS 4 | 高速スタイリング、保守性高い | 本番でもそのまま使える ✅ |
| Vercel | デプロイ1分、CDN自動、スケーリング自動 | AWS/GCP/自前サーバーへ移行可能(Next.js標準) |
アーキテクチャ全体像
[ ユーザーのブラウザ ]
│
▼
┌──────────────────────────────────────────────┐
│ Vercel Edge / CDN │
│ - 静的アセット配信(Next.js build産物) │
│ - Edge Middleware(レート制限/認可/AB等) │
└───────────────┬──────────────────────────────┘
│
┌──────────┴──────────┐
▼ ▼
┌──────────────────┐ ┌────────────────────────────┐
│ Frontend (UI) │ │ Backend (Server/API) │
│ Next.js 15 │ │ Next.js 15 on Vercel │
│ App Router │ │ - Route Handlers(/app/… )│
│ React 19 │ │ - Server Actions │
│ - Server/Client │ │ - Edge Functions │
│ Components │ │ - Node/Serverless Fn │
│ - fetch('/api') │ │ - Middleware(率制限等) │
└──────────────────┘ └────────────────────────────┘
│
│
│
│
┌─────┴────────────────────────┐
│ 外部サービス/DB │
│ │
┌───────────▼───────────┐ ┌───────────▼───────────┐
│ Wikipedia API │ │ Supabase(PostgreSQL) │
│ - Edgeから直接fetch │ │ - Prisma経由 │
│ - キャッシュ/再検証 │ │ - 接続プール/Row-Level │
│ - レート制限考慮 │ │ Security(必要なら) │
└───────────────────────┘ └───────────────────────┘
設計の肝: 「移行可能性」の担保
❌ ベンダーロックインの例(Supabase直結)
// Supabaseに直結(移行困難)
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(url, key)
// Supabase固有のクエリ
const { data } = await supabase.from('challenges').select('*').eq('type', 'daily')
問題点:
- Supabase以外のDBに移行できない
- Supabase固有のAPIに依存
- コスト削減やオンプレ移行が不可能
✅ Prismaで抽象化(どこでも動く)
// Prismaで抽象化
import { prisma } from '@/lib/prisma'
// 標準的なクエリ(どのPostgreSQLでも動く)
const challenges = await prisma.challenge.findMany({
where: { type: 'daily' },
})
メリット:
- PostgreSQL標準SQLに変換される
- Supabase → AWS RDS → GCP Cloud SQL → 自前DB、どこでも動く
- コード変更なしで移行可能
PoCフェーズでのSupabase活用
PoCではSupabaseの以下の機能で高速開発:
- Database: PostgreSQL(5分でセットアップ)
重要なのは、Prisma経由でアクセスすることで移行可能性を担保していること。
第4章: 得られた学び
**Wikipedia Golfの例**:
- PostgreSQL (Supabase) → 複雑なクエリ・トランザクション対応
- Prisma → ベンダーロックイン回避、どこでも動く
- Next.js → Vercel → AWS/GCP/自前サーバー、どこでも動く
### 2. 売上にならないコードは書かない
❌ 過剰な最適化:
- マイクロサービス化
- 完璧なテストカバレッジ
- 複雑な抽象化
→ 儲からなければ全て無駄
✅ 最小限の実装で市場テスト:
- モノリスで十分
- E2Eテストは主要フローのみ
- 抽象化は2回目のリファクタリングで
まとめ
16時間開発の本質
16時間開発の本質は「速さ」ではなく**「試行回数の最大化」**です。
完璧な1つ < 不完全な10個
AI×人間の分業で企画を量産し、長期的視野を持った技術で高速実装、市場の反応を見て育てる。
これからの開発者
開発者の役割は変わりつつあります:
従来: 「作る人」
→ 要件を受け取り、実装する
これから: 「企画を検証し、儲かるものを選ぶ人」
→ AIと協働して企画を量産
→ 長期的視野で技術選定
→ 市場検証を高速で回す
→ 儲かるものだけに集中投資
Wikipedia Golfの今後
- ✅ PoC完了、市場反応を測定中
- 🔄 ユーザー増加に応じてAWS移行検討
- 🔄 A/Bテストでマネタイズ最適化
- 🔄 ユーザーフィードバックで機能追加
あなたも16時間で何か作ってみませんか?
この記事が、高速PDCAサイクルを回したい事業者の参考になれば幸いです。
質問やフィードバックがあれば、コメントください!
Discussion