RizzCharts is a production-ready sample demonstrating how to build interactive ecommerce dashboards using A2UI (Agent to UI) protocol. The tutorial covers creating custom component catalogs that extend beyond standard UI elements—specifically Chart and GoogleMap components—enabling AI agents to generate native, cross-platform visualizations.
The architecture uses Google's Agent Development Kit (ADK) for agent orchestration, A2A Protocol for communication, and implements a three-message pattern (beginRendering, surfaceUpdate, dataModelUpdate) for rendering rich UIs. Key concepts include data binding for reactive updates, schema validation for type-safe agent outputs, and fallback support for graceful degradation.
The sample is open source and includes complete implementation code, JSON schemas for custom components, and step-by-step instructions for integrating with LiteLLM (supporting Gemini, OpenAI, etc.). Unlike HTML/iframe approaches, A2UI uses declarative data structures that clients render as native widgets, ensuring security, native UX, and cross-platform support.
RizzCharts is a production-ready sample demonstrating how to build interactive ecommerce dashboards using A2UI (Agent to UI) protocol. The tutorial covers creating custom component catalogs that extend beyond standard UI elements—specifically Chart and GoogleMap components—enabling AI agents to generate native, cross-platform visualizations. The architecture uses Google's Agent Development Kit (ADK) for agent orchestration, A2A Protocol for communication, and implements a three-message pattern (beginRendering, surfaceUpdate, dataModelUpdate) for rendering rich UIs. Key concepts include data binding for reactive updates, schema validation for type-safe agent outputs, and fallback support for graceful degradation. The sample is open source and includes complete implementation code, JSON schemas for custom components, and step-by-step instructions for integrating with LiteLLM (supporting Gemini, OpenAI, etc.). Unlike HTML/iframe approaches, A2UI uses declarative data structures that clients render as native widgets, ensuring security, native UX, and cross-platform support.