開発環境 — 隙間時間だけでプロダクトは作れるか
Situation
まず自己紹介から。フルタイムで働いているパパである。毎日、仕事に、家事に、育児に、勉強に。自分の時間なんてない — というのは、同じ立場の人なら説明不要だと思う。
人の手は 2 本しかないので、同時に持てるものは 2 つしかない。右手に仕事、左手に家事と育児。これでもう、いっぱいである。すでに溢れている。
追い打ちをかけるように、物価も高い。手元の Mac は Intel の MacBook Air で、Windows と macOS を両方入れて使ってきた古株だが、先日ついにサポート終了のお知らせが届いた。Apple Silicon への買い替えは、家計との相談になる金額である。
Complication
さて、そんな状況で、いつアプリ開発をするのか。冷静に考えると、無理ではないか — という話になる。
使える時間を洗い出すと、子どもの寝かしつけのとき、出勤中、昼休み。この 3 つの隙間しかない。どれも 10 分から 30 分の細切れで、しかも机がない。PC を開いて Xcode を立ち上げて — という開発スタイルは、時間の面でも場所の面でも、そもそも成立しない。
一方で、技術の進歩にはついていきたい。生成 AI で開発の景色が変わりつつあるのは PoC で体感した。「時間がないから何もしない」を選ぶと、その差は開く一方になる。
Question
隙間時間だけで、プロダクト開発はできないだろうか?
Criteria
問いを要件に落とす。妥協できない条件は次の 6 つだった。
- スマホだけで開発が完結する — 机も PC もない場所が主戦場だから
- まとまった時間がなくても、少しずつ進められる — 10 分の断片を積み上げられる作業モデルであること
- Mac がなくても iPhone アプリを開発できる — サポート切れの Intel Mac を買い替えない
- iPhone と Android の両方に対応できる — 作り直しはしたくない
- 管理維持費がかからない — 個人開発なので、売上ゼロでも続けられる固定費に抑える
- セキュリティが保たれている — 自分の端末や個人ファイルに AI が自由にアクセスできる構成は避ける
Answer
採用した構成は、iPhone と 3 つのクラウドサービスの組み合わせである。
- iPhone — 唯一の手元デバイス。依頼も確認も全部ここ
- Claude on Web — クラウドの sandbox 上で動く AI 開発環境。コードは全部ここに書いてもらう
- EXPO (EAS — Expo Application Services) — React Native ベースのフレームワークと、クラウド側の build・配信基盤
- GitHub — ソースの保存場所であり、自動化 (CI/CD) の実行基盤
# 全体の流れ (詳細は 1.1.1 / 1.1.2)
iPhone → Claude on Web → GitHub → GitHub Actions → EAS → iPhone
この 4 つを直列につなぐと、「スマホで依頼して、数分後にスマホで動作確認する」という開発ループが成立する。6 つの要件がどう満たされたかは、パイプラインの中身と一緒に 1.1.1 スマホだけで iPhone アプリを開発する と 1.1.2 Mac なしで build する で書く。
Follow-up
先に断っておくと、1 回だけ PC のブラウザを使っている。初回の証明書まわりの操作だけは、さすがにスマホの画面では小さすぎた。理屈の上ではスマホだけでも可能だと思うが、無理をする場面でもない。詳細は 1.1.2 で書く。
もう 1 つ。この記事は ADR (Architecture Decision Record) なので、詳細なセットアップ手順は書いていない。手順が必要なら、この記事を AI にそのまま渡して聞いてもらえれば上手くやってくれるはずである。フィージビリティは確認済み — つまり、この構成は問題なく動いている。