Inspiration

In most Indian homes, the household money runs on memory. Did Shanti come on the 12th? How much advance did we give Lakshmi? Is the vegetable seller charging more than the shop next door? Notebooks get lost, WhatsApp chats get buried, and at month-end everyone argues over the numbers.

We wanted an assistant that works the way people already talk: you say what happened, and it remembers. So we built HiSaab, an Alexa+ style voice assistant for your home's money memory.

What it does

Say "Hey San" and tell it what happened, in everyday English.

  • Helpers ledger: log your maid, cook, milkman and newspaper delivery as it happens ("Shanti didn't come today", "the milkman gave half a litre extra", "I gave Lakshmi 1000 rupees advance last Friday"). Ask "How much do I owe everyone this month?" and get a bill card per helper plus a ready-to-send WhatsApp message.
  • Price memory: log purchases ("Tomatoes 40 rupees a kilo from the corner shop"). HiSaab learns the usual price per item and vendor, and warns you when something costs too much, naming the cheaper vendor.
  • Ask anything: "How much did I spend on vegetables?" or "Who was absent the most?" Household questions are answered only from your own records.
  • Hands-free voice: after HiSaab asks a question, the mic stays open briefly so you can just answer. It replies in one consistent Indian-accent voice.
  • Safe by design: the same absence can't be logged twice, and every entry has its own Undo.

How we built it

HiSaab is one Node.js process on one port. It serves the web page and a real MCP (Model Context Protocol) server over Streamable HTTP. The page is itself an MCP client calling 9 tools, and an Under the hood panel shows every request and response live.

  • Gemini (free tier) is used only to understand sentences and to answer open questions, so an outage never breaks logging, bills or price alerts. If one model runs out of free quota, HiSaab switches to the other.
  • Voice uses the browser's built-in speech recognition and speech synthesis, so there is no paid service.
  • Storage is a simple JSON file, so everything survives a server restart.

The most important design decision: all money maths is plain, deterministic code, never the AI. A helper's monthly payable is:

$$ \text{payable} = \text{rate} \times \frac{D - A}{D} - \text{advance} $$

where $D$ is the number of days in the month and $A$ is the number of unpaid absences (for example, a cook paid monthly). A milkman is paid per litre instead:

$$ \text{payable} = \sum_{d=1}^{D} q_d \times p $$

where $q_d$ is the litres delivered on day $d$ and $p$ is the price per litre. The AI turns speech into structured data, and code does the arithmetic, so the numbers can be trusted.

Challenges we ran into

  • Understanding people, not commands: casual phrasing, misheard names, and dates like "yesterday", "last Monday" or "on 10th October" all had to resolve to the right helper and the right day.
  • Voice flow: keeping the mic open just long enough for a follow-up answer, while closing it whenever HiSaab is speaking so it doesn't hear itself.
  • Trust in the numbers: keeping the AI out of the maths, and preventing duplicate entries (the same absence can't be logged twice).
  • Staying free: working within free-tier quotas by falling back between models, and still working with rule-based logic if no API key is present.

What we learned

  • How MCP works end to end: building a server, building a client, and exposing the traffic so judges (and we) can see it.
  • Using an LLM only where it is strong (language understanding) and plain code where correctness matters (money).
  • Designing voice interactions that feel natural, including follow-ups and speaking turns.

What's next

  • Hindi and Tamil support (each language is one block of reply templates plus a speech language code, with no model training).
  • Real Alexa+ integration so HiSaab can live on a smart speaker in the kitchen.

Team

Dharmik, Ritu, Tanish and MBS, built for the Build, Ship, Shape: Amazon Developer Hackathon (Alexa+ track).

Built With

Share this project:

Updates

Submission history