【え？通勤中だけでアプリ完成？】時間ゼロの私が"昼休み駆動開発"でリリースした話


> 「個人開発したいけど、時間がない」
> 
> 「帰宅後は疲れて何もできない…」
> 
> 「週末に集中したいけど、それすら無理…」

そんな人にこそ読んでほしい内容です。

実際に私も平日は仕事で忙しく、土日も家族の用事などがあります。お子さんがいる方はさらに時間の確保が大変だと思いますが、そんな中でもまとまった開発時間を取るのは難しい状況でした。平日の夜は疲れ果てて何もできない状況でした。

でも、どうしても作りたいアプリがあった。そこで編み出したのが **「昼休み駆動開発」** です。

---

## 🧭 TL;DR

- 昼休みと通勤時間だけでFlutterアプリをリリース
- コーディングの9割をAIに任せた
- 使用ツールは `OpenHands`, `Cursor`, `OpenAI`
- 開発期間：3週間（実働時間は累計8時間程度）
- まとまった時間がなくても、やり方次第でリリースまでいける

---

## 背景：時間がない。でも作りたい。

### 私の生活リズム

- **朝** 家事、準備
- **日中** 仕事（通勤時間含む）
- **夜** 帰宅後は家事、その他用事
- **深夜** 疲れて就寝

土日も用事などがあり、お子さんがいる方はさらに時間の確保が大変だと思います。そんな中で、まとまった開発時間を取るのは難しい状況でした。平日の夜は疲れ果てて何もできない状況でした。

### 💡 きっかけ：アイデアが降ってきた

ある日、通勤中にふと思いついたアプリのアイデア。

「これ、おもしろそうだな...でも作る時間がない」

そんな時、最近話題のAI開発ツールの存在を思い出しました。

「まとまった時間が取れないなら、AIと分担すればいいじゃないか」

こうして、昼休み駆動開発が始まりました。

---

## 📱 作ったアプリ：「ふぉとぱっく！」

### コンセプト：ガチャ形式で思い出を引けるアプリ

- **メインコンセプト**：最近見返していない古い写真に光を当てる
- **メイン機能**：ガチャ・カードゲームのパックを回して写真をランダム表示
- **サブ機能**：思い出の写真をレアカードとして振り返る、コレクション機能
- **狙い**：身近な素材でソシャゲのような興奮体験を提供
- **展望**：自分の端末だけじゃなくて友人との共同パックなどや、猫写真、推しの写真などのコンセプトパック

https://apps.apple.com/jp/app/%E3%81%B5%E3%81%89%E3%81%A8%E3%81%B1%E3%81%A3%E3%81%8F-%E6%80%9D%E3%81%84%E5%87%BA%E3%82%92%E7%A5%9E%E5%BC%95%E3%81%8D%E3%81%97%E3%82%88%E3%81%86/id6746122937

![photopack.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543796/459d62d7-0368-4fc0-bed8-195b0445d3f7.png)

### なぜこのアプリを作ったか

1. **自分の課題**：数千枚の写真が放置されている
2. **技術的に適度**：複雑すぎず、簡単すぎない
3. **MVPが明確**：ガチャ機能だけでもリリース可能

---

## 🛠️ 使用ツール・技術スタック

| ツール | 役割 | 使用場面 | 料金 |
| --- | --- | --- | --- |
| [OpenHands](https://i-icc.hatenablog.com/entry/2025/03/01/151500?_gl=1*1rb5u1c*_gcl_au*MjA5NzIzODAyNy4xNzQ0NzI3Nzc4) | スマホからAIにPR作成を指示 | 通勤中・昼休み・メイン実装 | 従量課金 |
| [Cursor](https://www.cursor.sh/) | AIエディタでコード修正・補完 | 帰宅後の短時間 | 無料プラン |
| [OpenAI](https://openai.com/) | コード生成 / 画像生成 / テキスト生成 | 全工程 | 無料プラン |
| [GitHub](https://github.com/) | ソースコード管理・CI/CD | 全工程 | 無料 |

### ツール選定の理由

**OpenHands**を選んだ理由：
- スマホからでも操作可能
- GitHubと連携してPR作成まで自動化
- 日本語での指示が可能
- **Devinより圧倒的に安い**：Devinは月額$500と高額だったため、従量課金のOpenHandsを選択（結果的に3週間で約1,000円）
  - この前 $20 のプランも出ましたがまだ試せていません、、、

**Cursor**を選んだ理由：
- VS Codeベースで使いやすい
- AIによるコード補完が優秀
- リアルタイムでの修正提案

---

## 💰 実際にかかった費用

### 開発費用の詳細

| 項目 | 費用 | 備考 |
| --- | --- | --- |
| OpenHands | 約1,500円 | 従量課金（モデルはGeminiメイン・サブでClaude） |
| Cursor | 無料 | メイン実装はしてないので無料プランの範囲内 |
| OpenAI | 無料 | 無料プランの範囲内 |
| GitHub | 無料 | プライベートリポジトリ |
| Apple Developer | $99/年 | App Store公開に必要 |
| **合計** | **約13,000円** | **初期費用として** |

### 💡 費用を抑えるポイント

- **OpenAI無料プラン活用**：月間制限内で十分対応可能
- **OpenHands従量課金**：必要な分だけ使用で無駄なし
- **Cursor 1ヶ月のみ**：開発完了後は解約可能
- **GitHub無料プラン**：個人開発なら十分

**継続費用はほぼゼロ**で、一度リリースすれば追加コストはApple Developerの年会費のみです。

---

## 🚀 開発の全体像

### Week 1: 基盤構築・設計フェーズ

**📋 プロジェクト初期設定**
空のFlutter環境を構築しGitHubリポジトリを作成してCI設定も完了。

**📝 READMEの詳細設計**
通勤中にスマホで以下を記述（約30分）：
- アプリ概要
- 実装したい必要最低限の機能
- 技術仕様
- AIへの指示ルール（命名規則、コメント、テストコード必須など）

**🎯 なぜ最小限の機能に絞ったか**
実は、ユーザー登録やクラウド同期、AIタグ付けなど、もっと多くの機能を考えていました。

**しかし、あえて最小限に絞った理由：**
- **バックエンド不要**：サーバー運用の手間とコストを回避
- **昼休み開発に最適**：フロントエンドのみで短時間での動作確認が可能
- **早期リリース重視**：核となる価値（ガチャ体験）に集中してMVPを実現
- **コストの推測**：サーバーを用意した場合、アクセス数が読めずどれほどのコストがかかるか不明

結果として、この判断が正解でした。シンプルな構成のおかげで3週間でのリリースが実現できました。

### Week 2: 機能実装・UI改善フェーズ

**⚙️ コア機能の実装**

**🕐 昼休みの作業フロー：**
1. **機能仕様の整理**（5分）
   - 前日の進捗確認
   - 今日実装する機能の優先順位決定
   
2. **OpenHandsへの指示**（15分）
   - 具体的な実装内容をチャット形式で指示
   - 例：「写真をランダムに選択するガチャ機能を実装してください。Provider パターンを使用し、アニメーション付きで実装してください」
   - コーディング規約やテスト要件は Readme に記載しておき、そこを読むように伝えればOK

![open.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543796/51764571-87d7-4f11-a0b9-6148019f9aa9.png)


3. **AI作業の監視**（10分）
   - OpenHandsがコード生成中の進捗をスマホで確認
   - 待つだけなのでご飯でも食べながら待つ
	   - 質問があれば回答
	   - 生成されたPRのビルド・UnitTestが落ちていたら直すよう指示

4. **次回作業の準備**（3分）
   - 翌日の作業予定を簡単に整理

**🏠 帰宅後(寝る前など)の作業フロー：**
1. **PRレビュー**（10分）
   - 生成されたコードの品質チェック
   - 既存コードとの整合性確認
   - テストコードの妥当性検証

2. **動作確認**（10分）
   - 実機での動作テスト
   - UI/UXの確認
   - パフォーマンスの簡易チェック

3. **微調整**（5分）
   - Cursorを使用した細かな修正
   - コメントの追加や変数名の調整
   - エラーハンドリングの改善

4. **マージ・次回準備**（5分）
   - 問題なければPRをマージ
   - 翌日の昼休み作業内容を決定

**❌ よくないPRが生成された場合の対処：**
- 品質が低い、要求と異なる実装の場合、簡単に治せないようならPRをクローズ
- 翌日に違うモデルで再生成

**🧪 テストカバレッジの確保：**
- 各機能に対してユニットテストを自動生成
- ウィジェットテストも並行して作成
- カバレッジ目標：80%以上（最終的に85%達成）

### Week 3: 最適化・リリース準備フェーズ

**⚡ パフォーマンス最適化**
写真数が多いと画面描画が重い問題を発見。不要な再描画の削減やアニメーションで誤魔化すなどを指示。

**🎨 アプリアイコン・素材生成**
OpenAI でアプリ用のモダンでミニマルなアイコンを生成。ストア用スクリーンショット背景も同時に作成。

**📝 ストア説明文の生成**
ChatGPTにREADMEを基にApp Store用の説明文を作成依頼。

**🐛 最終バグ修正**
発見されたバグを個別にAIに修正依頼。

---

## 📊 開発結果：実働ほぼゼロでリリース成功！

### 時間配分の詳細

| 作業内容 | 時間 | 場所 |
| --- | --- | --- |
| 企画・設計 | 2時間 | 通勤中・昼休み |
| AI指示・レビュー | 4時間 | 昼休み |
| 修正・調整 | 1.5時間 | 帰宅後 |
| テスト・デバッグ | 30分 | 帰宅後 |
| リリース作業 | 1時間 | 休日 |
| **合計** | **9時間** | **3週間** |

### 📈 開発効率の比較

**従来の開発方法（推定）：**
- 設計：8時間
- 実装：40時間
- テスト：8時間
- デバッグ：8時間
- リリース：4時間
- **合計：68時間**

**今回の方法：**
- **実働：9時間（87%削減）**
- **AI作業：推定50時間相当**

## 📱 実際のアプリ

この方法で作った「ふぉとぱっく！」は現在App Storeで公開中です！

📱 **ダウンロードリンク**

https://apps.apple.com/jp/app/%E3%81%B5%E3%81%89%E3%81%A8%E3%81%B1%E3%81%A3%E3%81%8F-%E6%80%9D%E3%81%84%E5%87%BA%E3%82%92%E7%A5%9E%E5%BC%95%E3%81%8D%E3%81%97%E3%82%88%E3%81%86/id6746122937

![photopack.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543796/459d62d7-0368-4fc0-bed8-195b0445d3f7.png)

ぜひ使ってみて、あなたの写真を「神引き」しましょう！

---

## 🙌 最後に

必要なのは：
- ✅ スマートフォン
- ✅ アイデア（どんなに小さくてもOK）
- ✅ 昼休みなどの短時間
- ✅ 少しの好奇心

あなたのアイデアを、AIと一緒に形にしてみませんか？

この記事が「役立ちそう」「真似したい」と思ったら、**LGTM**してもらえると嬉しいです！

そして、みなさんの **空き時間開発** の工夫も、ぜひ教えてください 🙌