Inspiration

Small shop owners and local businesses often struggle to compete with large online platforms because they lack access to smart technology, customer insights, and automated support systems. We wanted to build an AI-powered solution that helps businesses simplify selling, improve customer interaction, and make smarter business decisions without needing technical expertise. That idea inspired us to create ShopSaathi AI — a digital “saathi” (companion) for shopkeepers and customers.

What it does

ShopSaathi AI is an AI-powered assistant designed to help local businesses manage and grow their stores more efficiently. The platform can: Recommend products based on customer preferences Provide smart chatbot support for customer queries Analyze buying patterns and sales trends Help shop owners manage inventory and orders Offer personalized shopping experiences Generate insights that help businesses make better decisions

The goal is to make smart retail technology accessible to everyone, especially small and medium businesses.

How we built it

We architected ShopSaathi AI using Google's cutting-edge AI ecosystem: Google Agent Development Kit (ADK): Used as the core orchestration framework to build the agent's logic, assign system instructions, and attach functional tools. Gemini (gemini-flash-latest): Serves as the brain of our agent, enabling advanced multi-step reasoning and natural language understanding. Model Context Protocol (MCP) via FastMCP: Built a dedicated MCP server to safely bridge our agent with external product databases using Server-Sent Events (SSE). FastAPI: Developed a clean, responsive chat web UI and custom REST API endpoints (/chat) to manage user conversations. Cloud Deployment: Fully deployed the repository on Render with an automated GitHub CI/CD pipeline to make the agent globally live.

Challenges we ran into

Building a production-grade agent in a sandbox environment brought several architectural hurdles: Async Session Management: We initially faced SessionNotFoundError crashes in Python because session creation is asynchronous. We resolved this by refactoring our pipeline to properly utilize async/await blocks with the ADK Runner. API Quota & Model Resolution Limits: Encountered 429 Resource Exhausted and 404 Not Found errors when calling newer models on standard free tiers. We adapted our framework to target gemini-flash-latest which optimized performance while respecting platform constraints. Breaking Changes in New Frameworks: Since ADK and MCP are evolving rapidly, standard tutorial imports like SseServerParams and methods like get_asgi_app() caused critical failures. We deep-dived into the latest documentation to fix them using SseConnectionParams and mcp.http_app(transport="sse").

Accomplishments that we're proud of

Successfully went from a completely blank canvas to a fully autonomous live AI Agent in record time.

Correctly implemented a functional Model Context Protocol (MCP) server, moving past hardcoded mock functions to clear, declarative context-gathering.

Created a beautiful, live-streaming chat interface running on cloud servers rather than just a local terminal script.

What we learned

AI Agents vs. Chatbots: We mastered the difference between static conditional bots and dynamic agents that choose their own tools based on customer intent.

Production Engineering Discipline: We learned how to handle async stream events, manage state via InMemorySessionService, and debug active network sockets securely.

Cloud Architecture: Gained hands-on experience deploying multi-server setups (FastAPI + MCP Server) to cloud infrastructure.

What's next for ShopSaathi Ai

Real Database Integration: Moving from Python-based mock datasets to a live SQL/NoSQL cloud database for production scale.

Omnichannel Deployment: Connecting the backend API to WhatsApp Business and Twilio to assist customers on their favorite messaging apps.

Google Cloud Marketplace: Refactoring the current MVP into a scalable, monetizable asset ready for Track 3 guidelines on the Google Cloud Marketplace.

Built With

Share this project:

Updates

Submission history