MVPLab built SMVS Kothar, the inventory app for the Kothar (food pantry) of SMVS Shree Swaminarayan Mandir, on Claude. Between 19 September and 25 October 2026, volunteers logged 989 kg of food coming in through it: 265 stock movements, with 159 pantry items on its list. Claude reads photos of handwritten Kothar sheets and turns every line into an entry, matches what volunteers write to the pantry's own item list, and answers stock questions in plain English, in the web app and on Telegram. A volunteer checks everything Claude reads before it is saved, and every number is computed by the app, not the model. The reports were tested against a full year of the Toronto center's 2024 records: all 128 item closing balances matched exactly and the reconciliation balanced to 0.00. The whole app was built with Claude Code.

989 kgFood logged in, 19 Sep to 25 Oct 2026
265Stock movements recorded in the same five weeks
128 / 128Toronto 2024 closing balances reproduced exactly
0.00Reconciliation difference on a full year of records

The problem

The Kothar is the temple's pantry: rice, flour, oil, sugar, lentils and spices, donated by families or bought for the kitchen, the weekly sabha and festivals. Volunteers write down what comes in and what goes out on paper sheets. The date is written once at the top and ditto marks fill the rows below. Quantities arrive in pounds, ounces, gallons and cans.

Paper works for writing things down. It doesn't tell anyone how much sugar is left, what runs out next week, or what expires first. At the end of the year someone has to turn a stack of sheets into a stock report, a purchase and donation report, a report of what was used and a reconciliation, and get every number right.

SMVS needed one place for all of it, for several centers, that volunteers would actually use. That's where we came in.

How we put Claude into production

We set one rule early: volunteers shouldn't have to change how they work. They keep writing sheets, and Claude reads them. The second rule: Claude never decides a number on its own. What it reads goes to a volunteer to check before anything is saved, and every total comes from the app's own ledger.

Within those rules, Claude does four jobs in production:

1. READ THE HANDWRITTEN SHEETS

A phone photo of a Kothar sheet becomes one editable row per line: item, quantity, unit, purchase or donation, and the row's own date, even where the sheet uses ditto marks.

2. MATCH TO THE PANTRY LIST

A brand name or a local name on the sheet is matched to the pantry's own list of 159 items. Claude can only choose from that list, and a volunteer confirms the match.

3. ANSWER QUESTIONS

"How much sugar do we have?" "What's running low?" Claude turns the question into a query. The app computes the answer from the ledger, so the numbers can't be made up.

4. MEET VOLUNTEERS WHERE THEY ARE

The same works on Telegram: send a photo of a sheet or ask a question in the chat.

Reading the sheets

Real Kothar sheets are messy. Handwriting, a date written once and repeated with ditto marks, units like LB, OZ, GALLON and CAN. Claude reads the photo and returns structured rows, and each row keeps the date from its own line of the sheet. The volunteer sees every row on a review screen, fixes anything that looks wrong, and saves the whole sheet at once. Volunteers enter whatever units are on the package; totals show in kilograms and litres.

Answers that can't be made up

An assistant that guesses stock numbers is worse than no assistant. So Claude's job in Ask AI is to understand the question, not to do the maths. It turns "what did we receive from donations last week?" into a filter: item, center, dates, reason. The app runs that filter on its own ledger and returns the rows and totals, the same numbers the reports use.

Built with Claude Code

We built the whole app with Claude Code: 303 of the project's 334 commits. That covers a Python back end on Cloudflare Workers with a D1 database, a React front end for phones and desktops, and the Telegram bot. Every deploy runs 1,324 server tests and 479 front-end tests first. Photo reading and Ask AI run on Claude Sonnet 4.6.

What "production-ready" meant here

A pantry app has to be right about stock, every time, with several volunteers saving at once. Around Claude we built the parts nobody sees:

  • Lots and expiry dates. Every delivery is its own lot with an expiry date. Anything going out is taken from the lot that expires first.
  • Rules inside the database. Nobody can take more than is on the shelf, even when two volunteers save at the same moment, and a retried save is never counted twice.
  • Running-low alerts. The app works out days of stock left from the last 60 days of use and emails the people who opt in.
  • Quarterly stock counts. Volunteers count the shelves on their phones without seeing the app's figure. Admins review each difference and its value, then apply it, and the record is kept.
  • Several centers. Each center has its own members and stock, and its reports are in its own currency.
  • Every change is recorded. Sign-in, roles, and an audit trail of who changed what, before and after.

Checking the reports against a real year

Reports are where a pantry app earns trust, so we didn't just test them on made-up data. We took the Toronto center's year-end reports for 2024 and replayed the whole year through the app: 581 purchase and donation rows, 60 receipts with 951 lines, and 128 items.

  • All 128 item closing balances matched Toronto's report exactly.
  • The reconciliation balanced to 0.00.
  • 1,515 of 1,532 line amounts matched to the cent. The other 17 differ only because the original PDF prints quantities rounded to two decimals.

The result

SMVS Kothar is live in production. Between 19 September and 25 October 2026, volunteers logged 989 kg of food coming in and 121 kg going out: 265 stock movements, with all 159 pantry items on its list, each with its own QR label. Stock is visible to everyone who needs it, running low is flagged before shelves are empty, and the year-end reports come straight out of the app, in the same format the Toronto center already uses.

In SMVS's words

Our volunteers still write the Kothar sheets the way they always have. Now they take a photo, check the rows and save. We can see what we have, what is running low and what expires first, and the year-end reports come straight out of the app.

SMVS SFO SMVS Shree Swaminarayan Mandir

Running something important on paper?

Tell us what you're tracking. We'll show you what Claude can take off your volunteers' or team's hands. We respond within 24 hours.

Start a Project

Related