Inspiration
Every time we want to buy something online in India, the process is exhausting. We end up opening five tabs—Amazon, Flipkart, Croma, Tata CLiQ, Reliance Digital—manually comparing prices, digging through hundreds of reviews to see if they're fake, trying to figure out if that coupon is real, and still ending up unsure if we got a good deal. That's 20 minutes of friction for every single purchase. We realized that with the power of LLMs and autonomous agents, we could compress this entire tab-hopping workflow into a 5-second search.
What it does
SmartKart is a multi-agent AI shopping assistant that does the heavy lifting for you. You simply type in a product name, and SmartKart:
- Instantly fetches and compares live prices across 10+ major e-commerce platforms.
- Aggregates and normalizes reviews.
- Finds the best ongoing deals and tracks historical pricing to tell you if it's a good time to buy.
- Uses Google's Gemini AI to synthesize all this scraped data on the fly, giving you a definitive 2-3 sentence purchase verdict.
If a product isn't in our preloaded high-speed dataset, SmartKart automatically triggers a real-time web fallback, scraping Google Shopping live and using fuzzy-matching to cluster related listings into a single beautiful product card.
How we built it
We architected SmartKart into two decoupled halves:
- Frontend: Built with Next.js 14 and Tailwind CSS, featuring a glassmorphic UI, framer-motion animations, and Server-Sent Events (SSE) to render agent activity in real-time.
- Backend: Powered by Python and FastAPI. We built a custom multi-agent pipeline (7 specialized AI agents) that run in parallel.
- Live Search & AI Engine: We integrated the SerpApi Google Shopping API for real-time web scraping. For the AI ranker and verdict generator, we utilized the
gemini-1.5-flashmodel via the Google Generative AI SDK.
Challenges we ran into
The hardest part was grouping live search results. When scraping live data, platforms name the exact same product differently (e.g., "Dyson Airwrap Multi-Styler" vs. "Dyson Airwrap i.d. Styler"). Initially, our backend treated these as completely separate products. We solved this by implementing thefuzz (fuzzy string matching) to semantically cluster similar titles together on the backend, allowing us to combine multiple merchants into a single product card just like our preloaded dataset.
Another challenge was dealing with Mixed Content security errors when deploying to Vercel (HTTPS) while our backend was running locally (HTTP). We overcame this by successfully containerizing and deploying the FastAPI backend to Render, configuring CORS to allow cross-origin streams.
Accomplishments that we're proud of
We are incredibly proud of the Server-Sent Events (SSE) pipeline. When a user searches, they don't just stare at a loading spinner; they actually watch the 7 AI agents (Search, Price Analyzer, Review Scanner, Deals Finder, History Tracker, AI Ranker) light up sequentially on the frontend as the data streams in. It makes the AI feel tangible and transparent.
What we learned
We learned how to orchestrate multi-agent LLM workflows where agents hand off tasks to one another (e.g., the Search Agent failing gracefully and handing off to the Live Web Agent). We also deepened our understanding of SSE for streaming real-time JSON chunks from a Python backend to a React frontend.
What's next for SmartKart
In the future, we want to add:
- Conversational Memory: A chat interface where you can say "show me options under ₹30,000 instead" and the agents re-filter the results.
- Price Drop Alerts: Automated email/push notifications when the AI detects a historical low price for a saved product.
Log in or sign up for Devpost to join the conversation.