Inspiration

In a lot of Indian homes, one person cooks one dinner for everyone, and everyone wants it a little different. The kids can't handle chilli. Someone wants an egg on top. Someone skips paneer. So the cook either makes two versions or somebody quietly eats food they don't enjoy.

Good home cooks have a trick for this: keep the differences out of the pot, and split it at the right moment. Dal for everyone, then a separate tadka for each bowl. We wanted Alexa+ to know that trick, and to talk you through it from an Echo Show on the kitchen counter.

What it does

Sophia is an Alexa+ cooking companion made for Echo Show. You tell it who's eating and how each person likes their food, and it plans one shared preparation with a clear point where you split it into named plates.

  • It remembers your family's tastes. Say "Noor loves ghee" once, and from then on "dal for the three of us" is all it takes: Ravi gets his red chilli tadka, Asha gets hers mild, Noor gets her ghee.
  • It splits at the right moment. Anything that differs (chilli, egg, paneer, cheese, ghee) stays out of the shared pot until the food is divided.
  • It knows what's already in the pot. "Actually, no chilli for Ravi" still works, because his tadka hasn't happened yet. "Take the onion out" after the onion is cooked gets a polite no, with the reason.
  • Kitchen mode is built for messy hands: big text you can read from the stove, one step at a time, timers on screen, and voice commands like "next" and "start the timer".
  • It talks back in a warm Indian English voice (Amazon Polly, Kajal).
  • It checks your pantry. "Do I have everything for palak paneer?" tells you what's short and adds it to your shopping list. Nothing is ever ordered or paid for.
  • It remembers where you were. Walk away, come back, ask "where was I?", and it picks up from the same step.

How we built it

Sophia's kitchen is an MCP server (spec 2025-11-25, Streamable HTTP), the open standard Alexa+ uses to connect to services, so it's built to become an Alexa+ add-on. It exposes the kitchen as 13 tools, from planning a meal and changing a portion to checking the pantry and saving tastes.

Alexa+ add-on tools are still partner-only, so we built an Echo Show simulation as a web app: voice in, Polly voice out, and a kitchen-mode screen designed for a counter display.

The most important piece is a deterministic kitchen engine. It's the only code allowed to change anything. Every recipe step records which ingredients it adds, so the engine can always answer "is it too late for that?". The AI understands what you say and calls the tools, but the engine decides what's actually possible. Buttons, voice, chat and outside MCP clients all go through the same rules.

Everything runs on AWS. Lambda (Node.js 22) behind an API Gateway HTTP API serves the app, the API and the MCP endpoint. DynamoDB stores households, cooking history, chat memory and daily usage limits. Polly speaks. One CloudFormation stack defines it all with a least-privilege IAM role.

The agent is built on Amazon Bedrock (Converse API with tool use, Amazon Nova Lite). While Bedrock is unavailable on our new account, an optional "AI: Gemini" switch lets Google Gemini drive the very same tools.

We cover 30 everyday Indian dishes with 3 finishes each, backed by 133 automated tests.

Challenges we ran into

  • You can't un-add an ingredient. Modelling cooking as steps that each add specific ingredients took a few tries. Once it clicked, every change request became easy to answer safely. One test checks that no chilli ever lands in a shared pot, across all 30 dishes.
  • MCP on serverless. API Gateway and Lambda buffer responses, so we run the MCP server in stateless JSON mode instead of streaming.
  • A brand-new AWS account. Polly, Lambda and DynamoDB worked right away, but every Bedrock call came back "Operation not allowed", and CloudFront asked for account verification. Service Quotas showed every Bedrock inference limit set to 0 on the new account. We upgraded to a paid plan, added a payment method and opened a support case. So the demo never breaks in the meantime, the chat falls back to a clearly labelled offline mode, the app is served straight from Lambda, and the Gemini switch gives you real conversation through the same tools.

Accomplishments that we're proud of

  • The AI can suggest anything, but only valid actions happen. It can't talk its way around the kitchen.
  • A kitchen mode you can actually use with flour on your hands, in a voice that sounds like home.
  • Saved family tastes that turn a long instruction into "dal for the three of us".
  • 30 dishes × 3 finishes, each walked through planning, splitting, pantry and groceries in tests.

What we learned

  • Designing tools for an AI is different from designing buttons. Clear tool descriptions, and refusals that explain themselves, mattered more than clever prompts.
  • MCP made the kitchen reusable for free: the same tools serve our app's agent and any other assistant, including Claude.
  • Start cloud onboarding early. A new account can block services you assume are just there, so a graceful fallback is worth building.

What's next for Sophia

  • Running as a real Alexa+ add-on on Echo Show once the add-on tools open to developers.
  • Parallel timers when several plates finish at once.
  • Sending the shopping list to Amazon Fresh.
  • Guest and allergy-safe planning that keeps food separate from the very first step.

Built With

Share this project:

Updates

Submission history