Field Notes · Build Small Hackathon · Backyard AI

Dukaan Saathi: a small AI that keeps a corner shop's books, in Hindi

Small enough to run cheaply, big enough to change a shopkeeper's day.

01

The problem: a shop that runs on a paper notebook

It is eight in the evening at a kirana, the small corner shop you find on almost every street in India. A regular customer picks up some atta (flour), a bottle of oil and a packet of biscuits, and says, "likh dena, kal de dunga." → Write it down, I will pay tomorrow. The owner nods, opens a thick cloth-bound notebook called a bahi-khata, finds the customer's page, and adds a line. Twice a week he flips through the whole book asking himself the same question: kiska kitna baaki hai? → Who owes how much? His stock works the same way. It lives in his head, until something quietly expires on the shelf.

This is the real problem, and it is not a shortage of apps. There are hundreds of shopkeeping apps. The trouble is that almost every one of them asks a busy, Hindi-speaking shopkeeper to type English into forms. That is a wall, and most owners never climb it.

So we built Dukaan Saathi, which means "shop companion." It is a Hindi-first assistant that the owner simply talks to, or shows a photo of a bill. It keeps the two things that used to live on paper and in memory: the stock, and the udhaar, the running credit that customers pay back later. And it does more than keep records. It watches the shelf, tells him what is about to expire and what is not moving, suggests a discount to clear the slow stuff, and reminds him to stock up before a festival. He carries on doing what he already does all day, which is talk, and the books keep themselves.

We built it for the Build Small Hackathon, in its first track, Backyard AI: solve a real problem for a small shop on your street using small, open AI models that run on your own machine, not inside a big company's cloud. More than a contest entry, it puts a real AI assistant in the hands of a shopkeeper who would never otherwise get one, whatever his budget or schooling.

02

What changed for one shopkeeper

We did not want to assume any of this worked. So we handed the finished app to a local kirana owner near us and let him use it for a few hours with his own stock and his own customers.

What he noticed first was simple. Things that used to live only in his head, or buried somewhere in the notebook, were now in front of him in seconds: who still owed him money, what was about to expire, and what was selling well versus sitting untouched. Being able to see all of that, he said, would help him run the shop properly and lift his sales, because now he could act on it. He could send a polite reminder for an overdue payment, stock up before a festival rush, and clear slow items before they went bad.

There was a second thing he cared about, and it is the quiet reason the project is built the way it is. Because the model is open, we run our own copy of it rather than send his shop's data to a big AI company. His supplier prices, his profit margins, his customer list, the small edges that make his shop his own, none of it is handed to an outside AI service that could store it or learn from it. There is no meter charging him for every question. And since the model is open, the same setup can run on a computer the shop controls, and the data never leaves the counter. On hardware he already owns, the running cost is close to nothing. For a small business, that is not a luxury. It is the difference between trusting a tool and never opening it.

03

How Dukaan Saathi works

The whole thing is one simple loop. The owner speaks a sentence in Hindi or Hinglish (Hindi mixed with English), holds a supplier's bill up to the camera, or types. The figure below breaks that one turn into five steps.

The diagram shows one shopkeeper turn as a flow. The owner speaks Hindi, sends a bill photo, or types. faster-whisper turns the voice into text. For a photo, Surya OCR does a first pass over the page and Gemma vision then reads the bill. The Gemma 4 twelve-billion-parameter agent decides which tool to use. Write tools add stock, record a sale, record a purchase, add credit, and record a payment, while read tools answer questions, show the day's dashboard, item details, and customer dues. A confirm step asks haan ya nahi, yes or no, before any write. The stock and udhaar databases update, and the reply shows as text on the Bahi-Khata screen. It is also prepared in one Hindi voice with Veena and SNAC and plays when the owner taps the speaker, not on its own. Everything runs on small open models, self-hosted on Modal.

Figure 1. One shopkeeper turn, from start to finish. Everything inside the dashed line is small open models, self-hosted on Modal.

First, the app takes in whatever the owner gives it. If he speaks, a speech model called faster-whisper turns the Hindi into text. If he holds up a bill instead, a smaller text-reading model called Surya does a first pass over the page and hands the words across, and then an open AI model called Gemma reads it. Gemma can make sense of pictures, not just words, so it can read the page even when the bill is messy or handwritten, and pull out the items, quantities and prices.

Then that same model decides what to do. Gemma is an open model with about twelve billion active parameters, and it works as an agent, which is a slightly technical way of saying it behaves like a clerk with a fixed list of jobs it is allowed to do. It reads the request and picks the right job. As the figure shows, those jobs, its tools, fall into two clear groups: the ones that change the books (add stock, record a sale, note a credit, record a payment) and the ones that only look things up (the day's dashboard, a customer's dues, the reason an item is not moving).

Before it changes anything, it asks. Every entry that would touch the books is read back first as a plain question, haan ya nahi, yes or no, and nothing is saved until the owner says yes. The books themselves are just two small files kept on the same machine, one for stock and one for credit and sales.

Then it replies. The answer shows up as text straight away on a screen made to look like the shop's own paper ledger. In the background the app also gets the spoken version ready in one steady Hindi voice, using a voice model called Veena, so when the owner taps the small speaker on a reply it plays at once. It never speaks on its own, and it is always the same voice. All of this runs on small open models that we host ourselves on Modal, a service that runs our own copy of the models on a rented GPU instead of handing anything to an outside AI company. That is what keeps it private and cheap.

04

What you can do with it

That loop turns into a handful of things the owner can do without ever touching a keyboard:

Get started from your old khata.

Snap a photo of the paper notebook you already keep. Dukaan Saathi reads in your customers and what each one owes to start, you check it over, and you are in.

Keep the credit book by voice.

Say "Sharma ji ne do sau ka udhaar liya" (Sharma ji took two hundred on credit) and the entry is staged for you. Ask "kiska kitna baaki hai?" and you get a clean, ranked list of who owes what.

Receive stock by photo.

Hold up the supplier's bill. Dukaan Saathi reads the lines into a table you can fix before anything is added, and even estimates an expiry date when the bill does not print one. When you add a line, it either tops up an item you already carry or creates a brand-new one. You just check it and confirm.

Stop losing money to expiry.

It always sells your oldest stock first and warns you about items that are about to go off, so less of your shelf ends up in the bin.

Be ready for festivals.

It knows the festival calendar and reminds you to stock up before demand jumps, instead of after.

Ask why something is not selling.

Tap a slow-moving item, or just ask, "Parle-G kyun nahi bik raha?" (why isn't Parle-G selling). It looks across the sales trend, the stock and the price, then gives you a plain answer and a suggestion, such as a small discount to clear it.

Send reminders that stay polite.

For overdue credit it drafts a courteous Hindi message that you can choose to send. It never sends anything on its own.

See your money clearly.

Cost, selling price and margin for each item, the value of everything on your shelves, and the day's takings, all in one view.

Two habits keep it trustworthy. It never writes to the books without a yes, and it never lets you sell stock you do not have. It also shows a short, honest trace of which tools it used to answer you, so nothing happens behind your back.

We tested it hard against a full, realistic shop's books: it chooses the right action, pulls the right numbers, refuses to oversell, reads real supplier bills, and always waits for a yes before it writes. It passed every check. And the part that mattered most needed no test at all. When a real shopkeeper sat down with it, he used it without typing a single word.

05

Why this matters

Modern AI has mostly reached people who already have money, English, and a computer. A small shopkeeper usually has none of those, and he has still run a real business for years on memory and a paper notebook. Dukaan Saathi gives him the same kind of AI on his own terms: it costs almost nothing, it speaks his language, it listens instead of making him type, and it handles the whole counter, from stock to credit to bills. You talk, and the books keep themselves.

And because the models are open, the shop owns its copy outright. It can even run on the shop's own hardware, with nothing leaving the counter and no outside AI company in the loop.

The same idea goes a long way from here: more languages, more kinds of small business, and the same simple pattern, a private assistant you just talk to. It could work for anyone running a small shop, anywhere.

Asks before it writes

He ran his shop for years on a paper notebook and his own memory. Now the notebook keeps itself, in his own language, on his own counter, and it still asks before it writes.

06

See it in action

A few screens from the running app.

The Talk page. The owner asks aaj kitni bikri hui, and Saathi answers in Hindi inside the ledger; a hint reads that replies are silent until you tap the speaker.
Talk: ask in Hindi, get the answer in the ledger. Replies stay silent until you tap the speaker.
The Today dashboard showing stock value, the day's sales, pending credit, and lists of expiring, low and slow-moving stock.
Today: the day at a glance, stock value, sales, pending credit, and what needs attention.
The Stock page with tables for items expiring soon, items low on stock, and items that are not selling.
Stock: what is about to expire, what is running low, and the items that just sit there.
The Khata credit ledger listing each customer, how much they owe and overdue tags, with a button to draft WhatsApp reminders.
Khata: who owes how much, with one tap to draft a polite Hindi reminder.