StackA2A
orchestrationgoogle-adkpython

Google Ai Sprint

19

by stigsfoot

Multi-agent-driven GenerativeUI

2 starsUpdated 2025-07-05
Quality Score19/100
Community
11
Freshness
17
Official
30
Skills
10
Protocol
30
🔒 Security
20

Getting Started

1Clone the repository
$ git clone https://github.com/stigsfoot/google-ai-sprint
2Navigate to the project
$ cd google-ai-sprint
3Install dependencies
$ pip install -r requirements.txt
4Run the agent
$ python main.py

README

Generative UI Business Intelligence System

A multi-agent system using Google ADK that transforms business questions into interactive React UI components through specialized AI agents.

🏗️ Architecture

Multi-Agent System

  • Root Orchestrator: Coordinates and delegates queries to specialized agents
  • Chart Generation Agent: Creates visualization components (trends, metrics, comparisons)
  • Geospatial Agent: Generates map-based and location components
  • Accessibility Agent: Produces WCAG-compliant, high-contrast UI variants

Core Innovation

  • UI Components as Tools: React JSX components are generated as callable tools within ADK agents
  • Business Intelligence Focus: Natural language queries become interactive dashboards
  • Educational Transparency: Real-time agent tracing via ADK web interface

🚀 Quick Start

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • Google AI API key

Setup

# 1. Environment setup
cp .env.example agents/.env
# Edit agents/.env and replace 'your_google_ai_api_key_here' with your actual API key

# 2. Install Python dependencies
pip install google-adk python-dotenv
# Or install all: pip install -r requirements.txt
# Or modern approach: pip install -e .

# 3. Install frontend dependencies  
cd dashboard && npm install

# 4. Start development environment
python deployment/deploy.py dev

Development Servers

# Terminal 1: ADK Web Interface (requires API key setup)
adk web agents --port 8000

# Terminal 2: Frontend Dashboard  
cd dashboard && npm run dev

Access Points

🧪 Testing

# Run development server to test functionality
python deployment/deploy.py dev

📋 Project Structure

generative-ui-adk/
├── agents/                   # ADK Multi-Agent System
│   ├── generative_ui/       # Main orchestrator agent
│   │   ├── __init__.py
│   │   └── agent.py        # Root agent + Chart agent
│   ├── geospatial_agent.py # Map-based UI generation
│   ├── accessibility_agent.py # WCAG-compliant components
│   ├── dashboard_layout_agent.py # Layout composition
│   └── __init__.py         # Agent package entry
├── dashboard/              # Enhanced Frontend
│   ├── src/app/           # Next.js app with Vercel-inspired UI
│   ├── src/components/    # React components including SafeComponentRenderer
│   └── src/components/ui/ # Shadcn UI components
├── deployment/            # Deployment Utilities
│   └── deploy.py         # Local dev + production scripts
├── pyproject.toml        # Modern Python packaging
├── requirements.txt       # Python dependencies
└── README.md

🎯 Example Queries

Single Agent

  • "Show me sales trends for Q4" → Chart Agent
  • "Display regional performance" → Geospatial Agent
  • "Create accessible metrics" → Accessibility Agent

Multi-Agent Coordination

  • "Show regional sales with accessible high-contrast visualization"
  • "Create a complete dashboard with charts, maps, and accessible design"

🔧 Development

Adding New Agents

  1. Create agent file in agents/
  2. Define specialized tools returning JSX
  3. Add to root agent's sub_agents list
  4. Update evaluation scenarios

Frontend Integration

  • Components rendered via dangerouslySetInnerHTML
  • Real-time agent status indicators
  • Syntax highlighting for generated code
  • Responsive Vercel-inspired design

🚀 Deployment

Local Development

python deployment/deploy.py dev

Production (Google Cloud)

python deployment/deploy.py vertex

📚 Learn More


Built with Google ADK | Enhanced UI with Next.js + Tailwind | Multi-Agent Coordination

Capabilities

StreamingPush NotificationsMulti-TurnAuth: none
adk-pythongenerative-ui
View on GitHub