Inspiration
We set out to supercharge Google’s Online Boutique with agentic AI—turning a classic microservices demo into a conversational, image-aware shopping experience on GKE. The goal was to show how modern teams can add intelligence without rewriting core services, using Gemini for reasoning, Vertex AI for embeddings, and Cloud SQL/pgvector for semantic search—all orchestrated the “cloud-native way.”
What it does
EcommerceBuddy lets shoppers talk to an AI assistant to find products, visualize items in their own rooms, compare prices across currencies, and get review-driven summaries before adding items to the cart. Behind the scenes, an Orchestrator Agent coordinates domain agents (Product, Image, Cart, Currency, Sentiment) over gRPC/HTTP to handle semantic search, “Nano Banana” photorealistic visualizations, multi-turn refinement, and sentiment-aware recommendations—then executes actions like “add to cart.”
How we built it
We deployed the stock Online Boutique to GKE, then added five AI microservices as separate containers: agentservice (Gemini 2.5 Flash planning and synthesis), mcpserver (tool discovery via MCP exposing app APIs), imageassistantservice (Vision API + Gemini 2.5 Flash Image Preview + Cloud Storage), embeddingservice (Vertex text-embedding-004), and embeddingworker (PostgreSQL LISTEN/NOTIFY for real-time RAG). We upgraded productcatalogservice with Cloud SQL + pgvector, wired services over gRPC/HTTP, and packaged everything behind Kustomize overlays for one-command deploys.
Challenges we ran into
The biggest hurdles were keeping the core app untouched while exposing safe, composable “tools” through MCP, keeping latency low across agent hops, and tuning embeddings for high-recall yet precise results. We also had to balance realism and speed for image placement, manage Cloud SQL vector performance under load, and build observability across polyglot services to trace multi-step agent plans end-to-end.
Accomplishments that we're proud of
We delivered a fully conversational shopping loop—query, refine, visualize, decide, purchase—without modifying core services. The RAG product search feels natural, the visualization pipeline produces convincing room composites with signed URLs, and the sentiment layer surfaces “why” behind ratings. Everything ships as reproducible Kustomize stacks that run on any GKE cluster and play nicely with the original demo.
What we learned
Agents shine when they’re first-class, containerized neighbors to microservices rather than invasive rewrites. MCP made tool discovery clean and auditable, and pgvector + Cloud SQL handled semantic search well once we tuned dimensions, indexes, and ANN params. LISTEN/NOTIFY is a great fit for event-driven embedding refresh. Finally, clear gRPC contracts and structured prompts are just as important as model choice.
What's next for EcommerceBuddy
We’ll add Agent-to-Agent (A2A) orchestration, richer personalization memory, and A/B testing for retrieval strategies. On the platform side: Istio/Cloud Service Mesh for zero-trust and deep tracing, Memorystore for vector/result caching, optional AlloyDB for heavy read/write catalogs, and BigQuery pipelines for analytics. We also plan multi-modal uploads, price-drop alerts, and expanded domains (fashion sizing, home bundles, etc.) to deepen the assistant’s utility.
Built With
- adk
- gcp
- gcs
- gemini
- gke
- nanobanana
- vertexai



Log in or sign up for Devpost to join the conversation.