Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for Pantry Chef

Inspiration

Roughly a third of the food we buy ends up in the trash, usually because nobody remembers the spinach until it's slimy. And when we finally do cook, we're scrolling a recipe on a phone with eggy fingers. We wanted Alexa+ to handle both: remember what's in the kitchen, and talk you through using it.

What it does

Pantry Chef tracks your pantry and expiry dates. Ask "what can I make for dinner?" and it ranks recipes by how much of your kitchen they use, favoring items that are about to go bad. Say "yes" and it becomes a hands-free sous-chef:

  • Reads one step at a time and understands "next", "go back" and "say that again"
  • Offers a timer that matches the step ("Want a 4 minute timer?" → "Yes")
  • When you finish, takes the used-up, expiring ingredients off your pantry automatically
You:   Alexa, what can I make for dinner?
Alexa: I'd make Spinach & Feta Frittata, which uses up your spinach and feta.
       It takes about 25 minutes. You have everything for it.
You:   Yes.
Alexa: Step 1 of 6: Heat the oven to 200°C / 400°F...

Pantry Chef Alexa+ simulator

How we built it

  • MCP server in TypeScript on the official Model Context Protocol SDK, served over Streamable HTTP (spec 2025-11-25) in stateless mode. It has 12 tools (pantry, expiry, recipe suggestions, step navigation, timers) and a pantry://recipes resource.
  • Dual-shape responses: every tool returns a speakable speech sentence for voice devices and structured data for screen devices like Echo Show.
  • An Agent Skill (SKILL.md) encodes voice-first behavior: one step at a time, a bare "yes" accepts the offered timer, and the assistant leads with waste reduction.
  • A web Alexa+ simulator that is a real MCP client. It runs the initialize → tools/list → tools/call handshake and has voice input and output through the Web Speech API, an Echo Show-style step card with progress, live pantry and timer panels, and a log of every tool call.
  • Waste-aware ranking: a recipe's score is the share of its ingredients you already have, plus a bonus for each expiring item it uses up.
  • An end-to-end smoke test drives every tool through the official MCP client.

Challenges we ran into

Voice cooking is all about context. Short words like "yes", "next" and "done" mean different things depending on what was just said. We kept the cooking session and timers server-side, keyed by household, so the transport stays stateless and easy to scale. Any client, whether Alexa+, our simulator or the MCP Inspector, can pick up the same session.

We also had to get the expiry math right across time zones, so that "1 day left" actually means tomorrow.

Accomplishments that we're proud of

  • A complete, standards-based MCP integration that any MCP client can use as-is
  • A full cook-along, from "what's expiring?" to a finished frittata, in under three minutes and entirely by voice

What we learned

Designing tools for voice is different from designing them for chat. Outputs must be short, speakable, and end with a clear next action. Splitting each response into speech and structured data turned out to be the key to supporting voice-only and screen devices with the same tools.

What's next for Pantry Chef

  • LLM-generated recipes for any combination of pantry items
  • Importing groceries from receipts or photos
  • A shopping list for missing ingredients
  • Proactive nudges: "Your spinach expires tomorrow. Want a frittata tonight?"

Built With

Share this project:

Updates

Submission history