🥗 NourishIQ — Your Intelligent Kitchen Co-Pilot
💡 Inspiration
I am a college student trying to balance academics, a social life, and actually eating well — and I can tell you from experience that the last one almost always loses. It started with a simple frustration. I wanted to eat healthier, understand what I was actually putting into my body, get better at cooking, and stop throwing away groceries I bought with good intentions but no real plan. Every app I tried made it harder than it needed to be. Log your height. Enter your age. Count every calorie manually. The tools that were supposed to help felt like extra homework. More than that, I noticed the people around me struggling with the same thing in different ways. Friends managing PCOS who needed consistent anti-inflammatory, low-glycaemic meals but had no easy way to plan them. Friends with iron deficiency who didn't know which foods to combine or avoid to actually absorb what they were eating. Older family members who wanted dietary guidance but found most apps overwhelming and clinical. People who simply wanted to cook more but didn't know where to start. There was no single app that spoke to all of them. Most nutrition tools are built around obsessive tracking — they treat your body like a spreadsheet and your meals like data points. Nobody wants to live like that. NourishIQ was built around a different idea entirely. What if your nutrition app was intelligent enough that you barely had to think about it? What if it planned ahead, guided you through cooking out loud while your hands were busy, told you what to buy and in exactly what quantity, and quietly supported your specific health needs without making you feel like you were on a medical protocol? The Apothecary section came from a personal belief that most of what your body needs to stay strong, balanced, and energised already exists in whole foods. Turmeric and black pepper for inflammation. Spearmint tea for hormonal balance. Beetroot and lemon for iron absorption. Cinnamon for insulin sensitivity. Ginger for immunity. These are not trends — they are food-as-medicine principles rooted in nutritional science and centuries of practical wisdom, made accessible and searchable for the first time in a tool that actually connects them to your daily meal plan. This app is for every college student eating on a budget, every woman navigating PCOS or iron deficiency without clear dietary guidance, every person who has ever opened their fridge at the end of a long day and ordered takeout because planning felt like too much. It is for anyone who wants to be healthier but has been let down by tools that made the process harder instead of easier. NourishIQ is not a calorie obsession log. It is your intelligent kitchen co-pilot — built by someone who needed it, for everyone who does.
🏗️ How I Built It
Stack at a Glance
- Frontend: Next.js 14 (App Router), deployed on Vercel / v0.app
- Database: Amazon DynamoDB for user profiles, meal plans, and scan history
- AI Layer: Multi-modal vision model for Plate Scanner; NLP for voice instructions
- Storage: Amazon S3 for meal imagery assets
- Auth: NextAuth.js with secure session management
Architecture
[User Device]
│
▼
[Vercel Edge Network]
│
Next.js App Router
├── /dashboard → Smart Calendar Engine
├── /scan → Plate Scanner (multimodal AI)
├── /craver → Craver Meter + Grocery Scaling
├── /travel → Travel Mode (regional guidance)
└── /apothecary → Functional Wellness Remedies
│
▼
[AWS Backend]
├── DynamoDB → User profiles, meal plans, scan history
├── S3 → High-fidelity meal image assets
└── Lambda (Edge) → AI inference + macro parsing
The Smart Calendar Engine
The calendar is the beating heart of NourishIQ. Rather than asking users for static data, we built a dynamic context engine that maps a rolling window:
$$\text{Plan Window} = [T - 5\text{ days},\ T + 14\text{ days}]$$
Each day's meals are contextually aware of what came before — nutritional debt, craving patterns, and upcoming schedule flags like travel or social events.
DynamoDB's single-table design made this performant at scale. Each user's meal timeline is stored under a composite key: PK: USER# SK: MEAL##
This lets us fetch any rolling window with a single range query — no joins, no latency.
The Green Speaker Pill — Zero-Latency Voice
One of my proudest UX decisions: the Green Speaker Pill. A persistent, floating audio control that reads cooking steps aloud, hands-free, while you cook. No screen tapping with flour-covered hands. It uses the Web Speech API piped through a pre-fetched instruction cache, so playback is genuinely zero-latency even on slow connections.
Plate Scanner — Multimodal Macro Parsing
Snap a photo of any meal — a fast-food tray, a restaurant plate, a home-cooked dish. Our vision pipeline returns:
- Parsed macronutrients with confidence intervals
- A healthier alternative optimized for your available appliances (air fryer, stovetop, instant pot)
- A swap suggestion if the meal conflicts with your current weekly nutritional balance
Three Utility Anchors
| Feature | What it does |
|---|---|
| 🎛️ Craver Meter | Detects a craving, swaps it for a healthier plate, scales the grocery list instantly |
| ✈️ Travel Mode | Real-time regional dietary guidance based on your current location |
| 🌿 Apothecary | Preservative-free functional wellness remedies, no supplements, no noise |
Monetization — Clean & Defensible
| Tier | Price | Features |
|---|---|---|
| Free | $0 | 7-day calendar, basic scanner, 3 Apothecary recipes/month |
| Pro | $12/mo | Full calendar, unlimited scanner, all anchors, voice pill |
| Premium | $20/mo | Everything + family group plans, priority AI Coach (coming soon) |
⚙️ AWS DynamoDB — Why It Was the Right Choice
We deliberately chose DynamoDB over a relational database for three reasons:
- Access pattern clarity. Nutrition data is read far more than written, and always by a single user's time-series key. DynamoDB's partition model is a perfect fit.
- Scale without ops. The Million-scale track demands infrastructure that doesn't require a DBA at 2am. DynamoDB's serverless auto-scaling means NourishIQ could absorb a viral moment without a single configuration change.
- TTL for ephemeral data. Travel Mode and short-lived scan results use DynamoDB's native TTL to auto-expire records — no cron jobs, no cleanup overhead.
🧗 Challenges We Faced
1. Eliminating height & age without losing accuracy. Standard nutrition calculators (Mifflin-St Jeor, Harris-Benedict) require height, age, and weight. We had to design a proxy inference model that bootstraps from food preferences, meal size signals, and energy feedback loops instead. Getting this right took three iterations.
2. High-fidelity meal matching. Finding or generating images that actually match a described dish — not a stock photo approximation — was harder than expected. We built a matching pipeline that scores candidates against a dish descriptor vector before serving.
3. Voice UX on mobile Safari. The Web Speech API behaves differently across browsers. Getting the Green Speaker Pill to feel seamless on iOS Safari required custom buffering logic and a fallback to chunked audio synthesis.
4. DynamoDB single-table design. Getting the access patterns right before writing a single line of application code was non-negotiable. We spent meaningful time on the entity model before touching the SDK — and it paid off with query latency consistently under 5ms in testing.
📚 What We Learned
- Speed and scale aren't opposites. Vercel's v0 scaffolded a production-grade frontend in minutes; DynamoDB gave us a database that'll hold up at millions of users. The stack proved the hackathon's premise.
- Friction is the real enemy of habit. Every input field we removed increased the likelihood a user would actually keep using the app. Radical simplicity is a design decision, not a shortcut.
- Single-table DynamoDB design rewards upfront thinking. The discipline of mapping every access pattern before writing code is a superpower, not a constraint.
🚀 What's Next
- [ ] AI Coach chatbot (Premium tier, Q3 2026)
- [ ] Wearable integration (Apple Health, Fitbit) for passive energy calibration
- [ ] Family meal consensus engine — one plan, multiple preference profiles
- [ ] B2B white-label API for corporate wellness platforms
Built for the H0: Hack the Zero Stack Hackathon — Vercel × AWS Databases #H0Hackathon
Built With
- 14
- amazon
- amazon-web-services
- api
- css
- dynamodb
- edge
- functions
- iam
- lambda
- next.js
- nextauth.js
- node.js
- openai
- react
- s3
- sdk
- speech
- tailwind
- typescript
- v0.app
- v3
- vercel
- vision
- web
Log in or sign up for Devpost to join the conversation.