Cartify: AI Shopping Assistant
What It Does
Cartify is a voice-powered shopping assistant. Chat about your health goals and what you want to eat, and it generates recipes, builds your shopping list, and adds everything to your cart automatically.
Key features:
- Natural voice conversation for adding and modifying items in your shopping list
- Recipe and ingredients cart suggestions based on your chat with Cartify
- One-click automation to add items to Weee! grocery cart
- Map showing nearby grocery stores
- Export to Apple Notes or download as text
Why We Built It
Grocery shopping is tedious and time consuming. Between planning meals, finding recipes, writing lists, and actually shopping—it's hours of work each week. We wanted to simplify it: just talk about what you want, and have everything ready to purchase.
How It Works
Tech Stack:
- Next.js for the frontend
- Deepgram for ai voice chat capabilities
- Google Gemini for understanding requests and generating recipes and ingredient lists
- Playwright for browser automation
- Google Maps API for store locations
- Unsplash API for the recipe images
Flow: You chat with Cartify → Generates recipes → Builds shopping list → Modify anything if needed→ Automates checkout
Challenges
Irrelevant recipes being generated: Occasionally, we would see recipes generated that were not aligned with either the goals or the cuisine. Prompting Gemini to specifically prioritize both was crucial in ensuring that the recipes generated matched the user's preferences.
Voice audio cutting off: We struggled with audio issues where sometimes the agent wouldn't respond fast enough to be interactive and other times the agent would respond too fast, sounding choppy and rushed. We built a buffering system to accumulate audio chunks before playback, eliminating choppy speech while still staying interactive.
Slow cart automation: Originally took ~7 seconds to add one item and couldn't function in the background, opening new browser windows each time to search for items. We fixed this to reuse a single window and work in the background. We have optimized it to now take ~1.5 seconds per item.
Apple Notes formatting: Text was appearing on one line. Fixed by converting to HTML with each line as a <div> element.
What We Learned
- Real-time audio requires careful buffer management
- Prompting AI carefully and precisely leads to much more consistent outputs.
- Performance matters—going from 7s to 1s completely changes user perception
- Users want complete solutions, not just recommendations
What's Next
- Support more grocery platforms (Instacart, Amazon Fresh)
- Nutrition tracking
- Multi-language support
- Mobile app
- Weekly meal planning
- Price comparison across stores
Try It
git clone https://github.com/Max-Changg/Cartify.git
npm install
npx playwright install chromium
# Add API keys to .env.local
npm run dev
https://cartifyai-two.vercel.app/
Built to make grocery shopping faster and less tedious.
Built With
- deepgram
- gemini
- next.js
- playwright
- react
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.