ShiftMatchをバイブコーディングで開発した全プロセス
【一次体験・実録】
この記事で分かること
- ShiftMatchの概要と開発動機
- バイブコーディングで実際に使ったツール・AI
- 開発フェーズごとの具体的なプロセス
- 70%の壁にぶつかり、どう突破したか
- App Storeリリースまでに詰まったポイントTOP3
- バイブコーディングで開発して気づいた本当のスキルセット
ShiftMatchとは何か
ShiftMatchは、シフト管理・スタッフマッチングを効率化するiOSアプリです。 飲食店・小売店などシフト制の職場で「誰がいつ入れるか」をスムーズに管理・調整できることをコンセプトに開発しました。
開発動機は単純です。「自分で実際にアプリをリリースしてみたかった」。 バイブコーディングについて発信したいと思っていたとき、 「体験した人間が語る」以上の権威性はないと考えました。
App Storeで確認する →使ったツールと環境
AIエディタ
Cursor
主要AI
Claude (Anthropic)
フレームワーク
React Native / Expo
バックエンド
Supabase
バージョン管理
Git / GitHub
デプロイ
App Store Connect
開発プロセス全記録
Phase 1:要件定義とAIへの最初の指示(1週目)
最初にやったのは「全体設計をClaude Opus に相談する」ことでした。 「シフト管理アプリを作りたい。主な機能は①シフト登録②空き枠の自動マッチング③通知。技術スタックはReact Native + Supabaseで考えている。 まず何から始めるべきか、どんなDB設計が適切か教えて」 という形で全体像を先に固めました。
この段階で学んだのは「AIは最初に全体像を与えると、後の指示が一貫性を持ちやすい」ということです。
Phase 2:コアUI実装(2〜3週目)
ナビゲーション、認証画面、シフト一覧画面を順番に実装しました。 この段階は比較的スムーズ。AIへの指示は「〇〇コンポーネントを作ってください。 TypeScriptで、shadcn/uiのデザインに合わせて、propsには〜が必要です」という形が機能しました。
コードの意味を完全に理解しなくても、「動くか動かないか」を確認しながら進めることができました。
Phase 3:バックエンド統合(3〜4週目)
SupabaseのRLS(Row Level Security)設定でかなり詰まりました。 AIに「ユーザーAは自分のシフトだけ見られるようにしたい」と伝えると 適切なポリシーを生成してくれましたが、 既存のポリシーとの競合でエラーが発生することが何度かありました。
解決策は「エラーメッセージをそのままAIに貼り付ける」こと。 文脈なしにエラーを渡すより、「このコードで〜を実現しようとしたらこのエラーが出た」 という形で渡す方が解決精度が上がりました。
Phase 4:70%の壁(4〜5週目)
プロジェクトの完成度が約70%になったとき、急に進捗が止まりました。 AIに変更を依頼するたびに「別の場所が壊れる」「同じエラーが繰り返す」という状況が続きました。
根本的な原因は「AIのコンテキストウィンドウに全コードが収まらなくなった」ことです。 コードベースが大きくなりすぎて、AIが全体を把握できない状態になっていました。
突破方法:①変更対象のファイルだけをコンテキストに入れる ②1回の指示で変更するファイルを1〜2個に制限する ③修正前に「変更前のコードと変更後のコードの差分だけ」を指示する形式に切り替える
Phase 5:App Storeリリース(5〜6週目)
App Store Connectへの申請、プライバシーポリシーの作成、スクリーンショット生成も AIと対話しながら進めました。特にプライバシーポリシーは 「iOSアプリ向けのプライバシーポリシーのテンプレートをください。 このアプリはメールアドレスと位置情報を収集します」という形で叩き台を作り、 自分で確認・修正するフローが効率的でした。
バイブコーディングで開発して気づいた「本当のスキルセット」
バイブコーディングで最も必要だったのは「コードを書く力」ではなく以下の3つでした:
- 1.問題を小さく分解する力——「アプリを作る」ではなく「この画面のこのボタンを押したときにこの処理をする」という粒度で考えられるか
- 2.エラーメッセージを読む力——AIに「このエラーどういう意味?」と聞くだけでも解決できる。エラーを無視しないこと
- 3.コンテキスト管理力——AIに「何を知っておいてほしいか」を取捨選択する力。多すぎても少なすぎてもダメ
次のステップ
この体験をベースに、VibeLearnでは「バイブコーダーになるための最短ルート」を カリキュラム化しています。ターミナル基礎からNext.js・Supabase、そしてAIとの協働まで、 ブラウザ上で実践しながら学べます。