Inspiration
My inspiration for this project stemmed from the powerful concept that "the real magic happens when [AI agents] collaborate to tackle complex tasks". The idea of building autonomous multi-agent AI systems that can effectively orchestrate interactions between different agents to solve intricate problems, such as automating complex business processes, analyzing data for meaningful insights, or enhancing customer service and content creation, deeply motivated me. This hackathon presented a unique opportunity to dive deep into cutting-edge AI with the Agent Development Kit (ADK) and contribute to the future of agent development, addressing challenges that a single agent might not be able to handle effectively.
What it does
Keynote CMS is a lightweight, AI-powered content management system designed for seamless conversational interaction. Leveraging multi-agent systems, it enables users to manage and query website content dynamically via a chat-based interface. It supports real-time updates, content browsing, and intelligent assistance — all served through a fast and extensible API.
How we built it
We built Keynote CMS using Python as the core language, integrating a combination of cutting-edge frameworks and tools:
Agent Development Kit (ADK) served as the backbone for constructing modular AI agents that can collaborate and handle specific tasks like content retrieval, user queries, and session state.
FastAPI powers the web server and API endpoints (/chat, /shop, /products), providing blazing-fast performance and asynchronous support.
Pydantic ensures type-safe data validation for all request/response models.
asyncio enables non-blocking execution of agent tasks and concurrent request handling.
Google Gemini API (gemini-2.0-flash) provides state-of-the-art conversational capabilities for our CMS agent logic.
In-memory storage is used for both session handling (InMemorySessionService) and CMS content state management for demo purposes.
We also implemented CORSMiddleware to support cross-origin API calls, which is essential for frontend integration during development.
Challenges we ran into
Agent coordination: Designing seamless communication between multiple autonomous agents required careful orchestration and debugging within the ADK framework.
Asynchronous complexity: Managing asyncio-based workflows while integrating synchronous API layers (like Pydantic and FastAPI endpoints) presented non-trivial challenges.
Limited persistence: Using in-memory storage was effective for the demo but required us to simulate session continuity and state retention during development.
Token management & rate-limiting: Interfacing with Google Gemini API needed optimization to balance response speed, cost, and usage quotas under real-time loads.
Accomplishments that we're proud of
Built a fully functional multi-agent CMS system from scratch within the hackathon timeframe.
Seamlessly integrated Google Gemini AI with a custom FastAPI backend.
Designed a clean and extensible architecture suitable for scaling or porting to production with persistent storage.
Achieved low-latency response times despite complex async operations.
What we learned
Hands-on experience with multi-agent system design using ADK and how to effectively delegate responsibilities across agents.
Deepened our understanding of async programming in Python, especially with FastAPI and asyncio interoperability.
Gained practical knowledge of integrating LLMs (Gemini-2.0-flash) into real-world web services.
Understood the importance of modularity, stateless design, and clear validation in scalable API development.
What's next for Keynote CMS
Persistent database support (e.g., PostgreSQL, Firestore) to replace in-memory content and session storage.
Add a frontend UI to interact with the CMS via web-based chat or admin dashboard.
Extend agent logic to include content recommendation, analytics, and automated SEO insights.
Integrate with external platforms like WordPress or Notion for hybrid CMS workflows.
Deploy on Google Cloud Run for scalable, production-ready hosting.
Log in or sign up for Devpost to join the conversation.