開発者ブログ

みんなで麻雀帳などWEBアプリのアップデート情報や、開発で活用しているAIツールでの試行錯誤の記録を発信します。

※当ブログの内容や技術情報については、公開時点の情報や個人の見解・見識に基づくものであり、特定の組織や団体を代表するものではありません。また、掲載情報の利用については自己の責任においてお願いいたします。

AI/技術情報

AIコード生成ツールを活用した開発プロセスのご紹介

本サイト「みんなで麻雀帳」は、個人開発のWebアプリケーションでありながら、迅速な機能追加やバグ修正などのアップデートを継続的に行っています。このスピード感のある開発を支えているのが、最先端の自律型AI開発プラットフォーム「Google Antigravity」の活用です。

今回の記事では、当サイトの開発プロセスにおいて、AIがどのようにパートナーとして協働しているか、その概要と裏側をご紹介します。


  • --



📋 計画から実装までのプロセス設計

「みんなで麻雀帳」の開発では、単に思いつきでコードを書くのではなく、以下の3つのフェーズに分けて明確なプロセスを設計しています。


  • 設計プランの策定 (Planning): 実装したい機能の設計書となる「計画ドキュメント」を作成し、データベーススキーマや影響範囲を整理します。

  • 実装・タスク管理 (Execution): 細分化したタスクチェックリストを作成し、一つずつステップを進めていきます。

  • 検証と記録 (Verification): 開発環境および本番環境でのテストを行い、最終的なリリース内容をまとめます。



これらの計画やタスク、検証内容は、リポジトリ内でMarkdown形式のファイル(`implementation_plan.md`、`task.md`、`walkthrough.md`)として厳格に管理・ドキュメント化されています。これにより、過去の決定事項の追跡やコードの品質担保が容易になり、個人開発でありながらチーム開発のような一貫性を保っています。



  • --



🤖 Google Antigravity の具体的な活用分野


日々の開発において、Google Antigravity は単なる「コードの自動補完」を超えて、以下のような高度なタスクで自律的に活躍しています。

# ① 双方向のアイディア提示によるスキーマ・リレーション設計

データベースモデル(Djangoモデル)の設計時には、私自身とAIとでそれぞれテーブル構造や外部キー関係のアイディアを提示し合います。「ユーザーアカウントとプレイヤー情報をどう安全に紐付けるか」「大会ごとのUUIDトークンの整合性をどう保つか」といった課題に対し、複数の選択肢を比較検討し、メリット・デメリットを相談し合いながら最適なデータベースリレーションを策定しています。

# ② BootstrapとカスタムCSSによるデザイン・レスポンシブ調整

快適なスコア入力を実現するため、UIはスマートフォン表示(レスポンシブデザイン)に特化させる必要があります。Bootstrap 5のグリッド配置をベースにしつつ、今回の「開発者ブログ」に導入したホバー時のカード浮き上がり・画像ズームなどの滑らかなマイクロアニメーション用のスタイルシートをAIに自律生成させています。さらに、PCとスマホの画像位置や余白バランスを確認し、表示の崩れがないか、レスポンシブ検証もAIアシスタントの支援を受けて行っています。

# ③ エッジケースを網羅する自動テストコードの生成

アップデート時に既存の機能(対局入力やLINE連携など)が壊れないよう、Djangoのユニットテストを徹底して記述しています。AIは、通常動作だけでなく「未ログインユーザーが下書き記事のURLを推測してアクセスした場合の404制御」や「無効なトークンが送信された場合のエラー処理」など、人間が見落としがちなエッジケースのテストケースを自動で検出し、テストコードを作成します。


  • --



🚀 AIとの協働によるメリット

Google Antigravityの導入により、これまでならデータベース設計からフロントエンドの実装、テスト作成、デプロイまでに数日要していたような新機能の実装が、数時間で完了するようになりました。
定型的なコードの記述や検証の手間が省かれたことで、開発者は「どのような機能があればユーザーの皆様が喜ぶか」という本質的なUX設計に集中できるようになっています。

今後もAIの力を最大限に活かしながら、皆様が使いやすい機能をどんどん追加していきます。これからのアップデートにもぜひご期待ください!

← 次の記事 みんなで麻雀帳に「待ち牌トレーニング」機能を追加しました!
前の記事 → 開発者ブログ開設のお知らせ