Inspiration
Most households in India own a dozen or more appliances: a TV, fridge, AC, washing machine, water purifier. Each one has a warranty, an invoice, a serial number and a service schedule, and these usually end up in a drawer or a WhatsApp chat. When something breaks, people can't find the bill, don't know whether the warranty is still valid, and often pay for a repair they were entitled to for free. [ADD ONE SENTENCE ABOUT YOUR OWN EXPERIENCE WITH THIS, if you have one.]
We wanted an assistant that keeps all of this in one place and that people can simply talk to, in their own language, instead of another app full of forms.
What it does
CareOrbit AI is an after-sales assistant for households. You can ask it, by voice or chat in English, Hindi or Telugu:
- "Show my registered products"
- "Which warranties expire soon?"
- "Book a service slot for my refrigerator"
- "Add my new TV, bought last month"
It tracks registered products, warranty timelines, service requests, appointments, maintenance tasks and service history, and shows a live dashboard of warranty health and expiring coverage.
Safe actions. Anything that changes data (adding, updating or deleting a product, booking an appointment, creating a service request) waits for the user to tap Approve or Cancel on a card before it runs. The assistant never changes anything on its own.
How we built it
- Self-hosted MCP server (Node.js, Model Context Protocol SDK, Streamable HTTP) exposing 25 tools for products, warranties, service requests, appointments and maintenance.
- Supabase PostgreSQL as the database behind the tools.
- Web assistant (Express) that connects to the MCP server as a client. It loads the tool list at startup and passes it to Google Gemini, which decides which tools to call.
- Approval flow in the web assistant: write tools are held until the user confirms, and a cancelled action is reported back to the model so it never claims something succeeded when it didn't.
- Voice in the browser using speech recognition and read-aloud, with English, Hindi and Telugu options.
- Deployed on Render, with the full setup and run instructions in the GitHub README.
Challenges we ran into
The hardest problem was reliability. The assistant sometimes took 20 to 40 seconds to answer, and some Gemini calls failed with 504 DEADLINE_EXCEEDED. Chat could survive that, but voice showed only an error. Reading our server logs, we found that our database tool took about one second while each Gemini call took 16 to 24 seconds, and that our fallback logic never retried on a 504, so a timeout became an instant failure.
We fixed it by treating timeouts as a reason to switch to the next model, shortening the request timeout, turning down the model's thinking level, and returning clear, speakable error messages. Answers are now fast and voice works reliably.
What we learned
- MCP cleanly separates the assistant from the tools, which made it easy to add a human approval step before any action.
- For voice, latency and error handling matter as much as accuracy. A voice assistant has to fail gracefully and speak its errors.
- Reading real logs beats guessing. The slow part was not where we expected.
What's next
- Proactive reminders before a warranty expires, with a drafted claim ready to send.
- Real invoice scanning to fill in product details automatically.
- Reminders for scheduled maintenance, such as AC servicing and water filter changes.
- More Indian languages.
Significantly updated during the hackathon
We built the MCP server and its 25 tools, the Gemini-powered assistant, the approval flow, voice in three languages, the dashboard, and the model fallback, timeout and error handling described above.
Built With
- api
- context
- express.js
- gemini
- http
- javascript
- mcp
- model
- node.js
- postgresql
- protocol
- render
- speech
- streamable
- supabase
- vite
- web
- zod
Log in or sign up for Devpost to join the conversation.