Inspiration

A small rice mill sells many brands and rice types. The owner keeps stock in a notebook and in memory. Running out of a fast seller loses customers. Piling up a slow one ties up cash. Existing stock tools are spreadsheets or complex software built for larger companies.

What it does

The owner adds brands and records rice coming in and going out. MillMate turns that business data into clear decisions:

  • A short story of the day: what needs attention first.
  • Up to three actions, each with the numbers behind it.
  • Plain-English answers to questions like "Which brand should I order first?"
  • A ready-to-copy order note. It never sends anything by itself.
  • A "how I worked this out" list so the owner can see how it decided.

The screen uses English only, big buttons, no technical words, and works on a phone.

How we built it

Python and FastAPI backend, SQLite storage, plain HTML/CSS/JS front end, deployed on Render. The advisor is an agent that runs a short loop of up to 6 steps: observe the stock, compare brands, project how long each will last, and draft a reorder note. With a Gemini key, the model chooses which tools to call (OpenAI-style tool calling). Without a key, a rule-based planner runs the same tools, so the app always works. Every number in the final text is checked against the computed facts. A sentence that fails the check is replaced with a safe template sentence. Every run is traced with Neatlogs.

Live app: https://millmate.onrender.com Code: https://github.com/tinkudas-rgb/millmate (The free server may take up to 50 seconds to wake up. Press "Try the demo mill" to load sample data.)

Challenges

Keeping the AI honest with numbers, so we built a checker that rejects any figure the model writes that is not in the data. Also getting Gemini tool calling to work across several steps, and keeping a free host responsive.

What works and what does not

Works: add and remove brands, record stock in and out, stock math, advice, questions, sample data, tracing, and a no-key mode. Not built: user accounts, spreadsheet import, editing a brand after adding it, sending orders to suppliers. On the free host, data resets when the server restarts, so use "Try the demo mill" for demos.

What we learned

Small businesses need clear actions, not dashboards. Showing the numbers behind each suggestion builds trust.

What's next

Spreadsheet import, supplier contacts, and alerts on the owner's phone.

Built With

Share this project:

Updates

Submission history