Hafiz Muhammad

プロジェクト名
PadelFlow

チームメンバー

Alfin
Hafiz

問題提起

アメリカーノおよびメキシカーノ形式のパデルトーナメントの運営は手作業でエラーが発生しやすい。主催者は手動で試合のスケジュールを組み、スコアを記録し、リーダーボードを再計算する必要があり、参加者数が増えるほど複雑になり、リアルタイムでラウンドが進行し順位が変動する状況ではさらに困難を極める。
提案ソリューション

主なアイデア:PadelFlow – Googleのオープンウェイトモデル「Gemma 4 26B」をModel Gardenで活用したAI搭載のパデルトーナメント管理プラットフォーム。
対象ユーザー:アメリカーノおよびメキシカーノ形式のパデルトーナメントを運営する主催者で、迅速なセットアップ、公平なスケジューリング、ライブスコア管理を必要とする人。
コアユーザー体験:主催者がトーナメント内容を自然言語で入力 → AIがトーナメント詳細を抽出して会場を推薦 → 試合が自動生成 → 主催者がダッシュボードでライブスコアリングとリアルタイムリーダーボードを管理。
期待される成果・利点:手動スケジューリングゼロの即時トーナメントセットアップ、自動化された公平な試合ローテーション、リアルタイムで正確なリーダーボード。
Gemma統合
Gemma(gemma-4-26b-a4b-it-maas)はGoogle Cloud Vertex AIおよびVertex AI Model Garden上に3つの専用エージェントノードとしてデプロイされる:

ai_tournament_generator(AIトーナメント生成器):自然言語入力を解析し、トーナメントパラメータを抽出、必須情報(参加者数、試合形式、会場)を強制し、情報が不足する場合はマルチターンチャレンジループを実行。
ai_venue_finder(AI会場検索器):ユーザーの場所クエリに基づき、コート収容人数を考慮したパデル会場を推薦。
tournament_advisor_chat(トーナメントアドバイザーチャットエージェント):アメリカーノとメキシカーノのルール、ローテーション戦略、選手ペアリングのアドバイスに関する質問に回答する専門会話AIエンドポイント(/api/ai/chat)。
エージェント開発ワークフロー
Antigravityの活用

フルスタックアーキテクチャ:Python 3.12 FastAPIバックエンド、ADK 2.xエージェントランナー、A2Aプロトコルルート、Cloud Firestoreストレージ層をスキャフォールディングして構築。
トーナメントアルゴリズム:padel_logic.pyにアメリカーノのペアローテーションマトリックス計算およびメキシカーノの動的ランクベーススケジューリングロジックを設計。
UIリファクタリングとモダンな美学:フロントエンドをエディトリアルグレードのスポーツテックインターフェースにリファクタリングし、ダーク/ライトテーマ、TV放送スタイルのスコアボード、レスポンシブレイアウトを実装。
マルチターンAIバリデーション:プロンプトの詳細が不足している場合に幻覚的なまたは一般的な会場名を防ぐマルチターンチャレンジループを作成。
SkillsおよびMCP統合

google-agents-cli-workflow & google-agents-cli-adk-code:エンドツーエンドのADK開発ライフサイクル、エージェント/ランナーコードパターン、A2Aエンドポイント定義。
google-agents-cli-deploy:Cloud Runデプロイ自動化およびサービス管理。
firebase-firestore:永続的なトーナメント保存のためのCloud Firestore SDK統合。
web_application_development:デザインシステムトークン、ダーク/ライトテーマCSS変数、タイポグラフィ、アクセシビリティのベストプラクティス。
開発の影響
100%のテスト合格率(13/13のユニットおよび統合テスト)、幻覚的な会場提案を防ぐ100%のマルチターン信頼性、厳格な検証による100%のスコア整合性、コンテナ再起動を跨いだリアルタイムFirestore永続化によるデータ損失ゼロを達成。
Google Cloudアーキテクチャ

クライアント:Vanilla HTML5、CSS3カスタムプロパティ(HSLトークンによるダーク/ライトテーマ)、モダンES6+ JavaScript(app.js)。
AIバックエンド:Python 3.12 + FastAPI + Google ADK 2.x + google-genai Python SDK(Vertex AI上のgemma-4-26b-a4b-it-maasを呼び出し)。
データフロー:ユーザープロンプト → POST /api/ai/generate-tournament → Vertex AI上のGemma → 構造化JSON(トーナメント詳細) → padel_logic.py(ペアリングロジック) → Cloud Firestoreストレージ → ダッシュボード(スケジュール、ライブスコア、リーダーボード)。
機能

動作する機能:AIトーナメント生成器、AI会場検索器、トーナメントアドバイザーチャットエージェント、自動アメリカーノ/メキシカーノ試合生成、勝者検出と試合ロックを伴うライブマッチスコアリング、ライブリーダーボード、トーナメントダッシュボード、トーナメント進行追跡、自動最終順位およびチャンピオン宣言。
主なユーザーフロー:主催者が自然言語でトーナメントを記述 → AIがトーナメントフォームを入力し会場を確認 → 試合が自動生成 → 主催者が各試合のライブスコアを追跡 → リーダーボードが自動更新 → トーナメントが最終順位とチャンピオンとともに完了。
既知の制限:AIプロンプト生成および会場発見にはGoogle Cloud Vertex AIサービスへのアクティブ接続が必要。ES6 Modules、Flexbox/Grid、CSS Variablesをサポートするモダンブラウザが必要。1試合あたりの合計ポイント(score_a + score_b)は21を超えられない。
プロジェクトリンク

公開リポジトリ:https://github.com/alfinwijaya/padel-flow
デプロイ済みアプリケーション:padel-flow-134929710348.us-central1.run.app(Google Cloud Run、us-central1)
公開YouTubeデモ:[Insert URL]
デモは公開され、3分以内で、主なユーザーフローを示す必要がある。
実行手順

uv tool install google-agents-cli
cd /home/devstar9594/padel-flow
agents-cli install

.env: GOOGLE_CLOUD_PROJECT=kodingdeepdive0826-9594, REGION=us-central1, GOOGLE_CLOUD_LOCATION=global

uv run python -m uvicorn app.fast_api_app:app --host 0.0.0.0 --port 8000 --reload # http://localhost:8000 で実行
uv run pytest tests/unit tests/integration
agents-cli deploy -d cloud_run --service-name padel-flow --region us-central1 --project kodingdeepdive0826-9594 --no-confirm-project