Inspiration
When an appliance breaks, most of us panic. The manual is long gone, we don't know the model number, online advice is generic and sometimes unsafe, and a technician charges $75 to $150 just to diagnose what is often a clogged filter. It's even harder for renters, families more comfortable in another language, and older adults. Existing repair apps live on one person's phone. I wanted a calm, patient repair friend that lives in the home, inside Alexa+, for everyone in the household.
What it does
Say "Hey Alexa, connect me to Kilta." Kilta:
- Checks for danger first (gas, burning, sparks, water near outlets) before any repair step.
- Grounds every step in the appliance's own manual, citing the page.
- Tries the simplest fix first: settings and quick checks before tools or technicians.
- Enforces safety gates in code: it won't continue until you confirm the appliance is unplugged, and hides hazardous instructions until a safety confirmation is given.
- Speaks each household member's language, switching mid-repair, while keeping panel labels in English because that's what's printed on the appliance.
- Remembers repairs across sessions and notices repeat problems.
- Hands off cleanly: technician summaries and landlord messages written in English, with model, error code, and steps already tried.
How I built it
- MCP server (Python, official MCP SDK v1) implementing spec 2025-11-25 over Streamable HTTP, with 24 tools, a manual resource, and a prompt. Every tool returns speakable
contentplusstructuredContentfor visual cards. - Repair engine: a deterministic state machine that owns all safety logic (safety check, re-check, before/after gates, technician-only handoff), so the AI only understands and phrases, and can't skip a safety rule.
- Agent bridge built with AWS Strands Agents (AWS Builder), acting as the Alexa+ host and calling the MCP server live, with a model fallback chain: Gemini Flash-Lite → Groq → Gemini Flash.
- Simulator (React, TypeScript, Vite, Tailwind) styled as a smart display, with Web Speech voice input and output in English and Spanish, and a behind-the-scenes panel showing live MCP tool calls.
- Agent Skill (
SKILL.md, agentskills.io format) teaching any agent to use Kilta safely. - Tests: 117 server tests, 125 bridge tests, and Playwright end-to-end tests, with CI on GitHub.
Challenges
- Free-tier AI limits: one model allowed only 20 requests a day, so I built a fallback chain and trimmed each call by about half by sending only the tools that fit the current repair stage.
- The AI answering for the user: one model asked a safety question and answered it itself. The bridge now cancels a "no danger" answer given in the same turn the question was asked.
- Safety vs. false alarms: "No, I don't smell burning" contains a danger word, so instead of stopping, Kilta does a quick safety re-check.
What I learned
Safety in AI products belongs in code, not prompts. Live testing with real models catches problems scripted tests can't. And MCP makes a product portable: the same server could plug into real Alexa+ unchanged.
Honest limits
I didn't have Alexa+ Private Preview access, so Kilta runs in a simulated Alexa+ host using the same MCP server. All appliances and manuals are fictional (brand "Kelvara"). The MCP App card and explainer animation are not built yet.
What's next
Real Alexa+ via the MCP Toolkit, MCP Apps visual cards, real manual search, recall checks, more languages, and opt-in anonymous repair insights for brands and shoppers.
Built With
- agent-skills
- alexa
- amazon-web-services
- fastapi
- gemini
- github-actions
- groq
- mcp
- model-context-protocol
- motion
- ollama
- playwright
- pydantic
- pytest
- python
- react
- strands-agents
- tailwindcss
- typescript
- uv
- uvicorn
- vite
- web-speech-api
Log in or sign up for Devpost to join the conversation.