今回は、「Antigravity」を使って、Railsエンジニアである私が、全くのゼロからFlutterアプリを開発し、わずか2時間でリリースまで漕ぎ着けた話をします。
作ったもの:ベンチプレス専用記録アプリ
「機能は最小限、UXは極力シンプル」をコンセプトにした、ベンチプレスの重量・回数・セット数を記録するだけのアプリです。
技術スタック:
- Flutter (Web)
- Firebase (Firestore, Auth, Hosting)
- Riverpod (状態管理)
開発プロセス
1. 仕様策定は ChatGPT で
まずは作りたいアプリのイメージを固めるため、ChatGPTに壁打ち相手になってもらいました。
「ベンチプレス記録アプリを作りたい。1日でMVPを出したい」と伝え、画面構成やデータモデル、カラーパレットを出力してもらいました。
2. Antigravity のエージェントと会話しながら実装
ここからが Antigravity の出番です。ChatGPTで作った仕様書をそのままプロンプトとして伝えました。
「以下の仕様に沿って、アプリを生成してください。」
すると、Antigravity は以下のタスクを自律的に実行し始めました:
-
プロジェクト計画の立案:
implementation_plan.mdを作成し、実装手順を提示 -
環境構築:
flutter createコマンドの実行(私の環境にFlutterが入っていなかったため、手動作成に切り替える機転も利かせてくれました) -
コード生成: ディレクトリ構造、データモデル、Repository、RiverpodのProvider、そしてUI画面まで、一気に書き上げました
驚いたのは、単にコードを書くだけでなく、「読みやすいクリーンアーキテクチャ寄り」 という要望通りに、責務を綺麗に分割してくれたことです。
3. エラーもペアプロで
もちろん、一発で完璧に動いたわけではありません。
-
flutterコマンドが見つからない - Firebase の設定ファイルがない
- ビルドエラー
Flutter知識がほとんどなかったのですが、隣にFlutterエンジニアがいるように「json_serializable が足りませんね、追加します」「Firebase の設定が必要です、コマンドを教えます」と、解決策を提示・実行してくれました。
4. デプロイ
一旦リリースをしたかったので、まずは Firebase Hosting で PWA として公開しました。
firebase init hosting
flutter build web
firebase deploy
こうして、わずか数時間で、友人にURLをシェアして使ってもらえるアプリが完成しました。
今後の展望(未実装機能)
今回は「短時間でリリース」を最優先したため、以下の機能は意図的に削ぎ落としました。これらは今後のアップデートで実装予定です。
- 記録の編集・削除: 間違えて入力した際の修正機能(現在は追加のみ)
- グラフによる可視化: 重量の推移をチャートで表示し、成長を実感できるようにする
- 正式なユーザー認証: GoogleログインやAppleログインの実装(現在は匿名ログインのみ)
-
設定画面: kg/lbs の単位切り替えや、ダークモードの切り替え
これらも Antigravity とペアプロすれば、おそらく数時間で実装できるでしょう。
まとめ
Antigravity は単なる「コード補完ツール」ではなく、「自律的に動く開発パートナー」 でした。
コードは一切書かずに、エージェントと会話するだけでアプリのリリースまで完了しました。
エンジニアが新しい技術を学ぶのにも、PdM の方がプロトタイプを作るのにも、最強のツールだと感じました。
