V
VibeLearn

ShiftMatchをバイブコーディングで開発した全プロセス
【一次体験・実録】

著者:古谷 達郎
※ 本記事はNote掲載の一次体験記事を大幅に加筆・再構成したものです。

この記事で分かること

  • 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. 1.問題を小さく分解する力——「アプリを作る」ではなく「この画面のこのボタンを押したときにこの処理をする」という粒度で考えられるか
  2. 2.エラーメッセージを読む力——AIに「このエラーどういう意味?」と聞くだけでも解決できる。エラーを無視しないこと
  3. 3.コンテキスト管理力——AIに「何を知っておいてほしいか」を取捨選択する力。多すぎても少なすぎてもダメ

次のステップ

この体験をベースに、VibeLearnでは「バイブコーダーになるための最短ルート」を カリキュラム化しています。ターミナル基礎からNext.js・Supabase、そしてAIとの協働まで、 ブラウザ上で実践しながら学べます。