Inspiration
As a chocolate maker and translator, I've always been fascinated by the bridge between the raw cacao bean and the complex sensory experience of a finished chocolate bar. The world of high-quality, single-origin chocolate is as rich and nuanced as the world of fine wine, but its language can often feel inaccessible. My inspiration was to translate this world for everyone. I didn't want to build a simple search tool; I wanted to create a true digital companion, an AI Sommelier with a distinct personality and philosophy, capable of guiding users through the delightful landscape of dark chocolate.
What it does
The Cacao Sommelier is an expert AI guide dedicated to the world of pure dark chocolate. It engages users in a sophisticated conversation to help them:
Discover new chocolates based on desired tasting notes (like 'fruity' or 'nutty'), cacao percentage, or origin.
Find the perfect pairing for a chocolate with items like wine, coffee, cheese, and other beverages.
Learn about the nuances of chocolate, guided by an expert with a philosophy of appreciating the unadulterated essence of the cacao bean.
It intelligently handles vague requests, asks clarifying questions, and uses its specialized knowledge to provide tailored, insightful recommendations.
How we built it
Coming from a non-coding background, my focus was on the agent's personality and expertise. I built this project using Google's Agent Development Kit (ADK) with the Gemini family of models, which allowed me to assemble a "team" of AI agents.
Think of it as a small, expert staff:
A Coordinator acts as the manager, listening to the user and directing them to the right specialist.
The Expert Sommelier is the heart of the operation. This agent holds the core knowledge and philosophy about pure chocolate.
A friendly Greeter offers a warm welcome, while a helpful Clarifier steps in if a request is too vague.
The most critical piece is the Expert Sommelier's special tool: a live API connection to a BigQuery database of curated chocolates. This allows the agent to perform real-time searches and provide recommendations based on an up-to-date collection, just like a real sommelier checking their cellar.
Challenges we ran into
The biggest challenge was a linguistic one: teaching the AI to understand human nuance. For a chocolate maker, there's a world of difference between a "fruity bar" (which has notes of fruit) and a "bar with fruit" (which has physical fruit pieces). My goal was to have the AI understand this distinction, gently educate the user on its philosophy of pure chocolate, and then guide them toward finding a bar with the tasting notes they crave. It felt less like coding and more like training an apprentice.
Accomplishments that we're proud of
I'm incredibly proud of creating an AI that has a believable, consistent personality. It's not just a chatbot; it's a specialist with a clear point of view. Successfully building an agent that can navigate the "ingredient vs. flavor" ambiguity and guide the user gracefully feels like a huge win. Furthermore, seeing the agent connect to the live database via its API tool and pull real-time, relevant information was the moment the Cacao Sommelier truly came to life.
What we learned
This project was a deep dive into the art of AI training. I learned that building a great agent isn't just about data; it's about instruction, personality, and creating a framework where different AIs can collaborate effectively. Instead of one giant brain, creating a team of specialists proved to be a much more powerful and manageable approach. I learned how to "teach" an AI not just what to know, but how to behave.
What's next for Cacao Sommelier
The journey is just beginning. The next major step is to connect our sommelier's expert recommendations to the real world. We plan to build out shopping functionality, where users can click through to purchase the recommended chocolates or wines directly from external vendor websites. This will complete the circle from discovery to delight, making the Cacao Sommelier an even more useful and integrated companion for any chocolate lover. We want to add LIVE API functionality so the user can use speech to interact with the agent as well.
Built With
- application-default-credentials-(adc)
- direct-gemini-api-(via-google-generativeai-sdk-0.8.5)
- docker
- fastapi
- gemini-2.0-flash-(via-vertex-ai)
- google-ai-developer-kit-1.4.2-(adk)
- google-artifact-registry
- google-auth-(python-library)
- google-bigquery
- google-cloud-bigquery-(python-library)
- google-cloud-build
- google-cloud-platform-(gcp)
- google-cloud-run
- google-generativeai-(python-library)
- google-iam-(identity-and-access-management)
- google-secret-manager
- os-(python-module)
- pydantic-(python-library)
- python-3.12
- uv-/-pip
- uvicorn
- vertex-ai
Log in or sign up for Devpost to join the conversation.