I'm building Haat (हाट, the village market), and I want to tell you about it early, because I'd like your suggestions before it is finished.
What it is
Personal AI agents are starting to shop for people. Poppy (the Personal Agent Protocol, announced by Sierra and Meta in October 2026) is an open standard for that. Lakhs of Indian sellers already sit on ONDC, India's open commerce network, which uses the Beckn protocol. Small sellers are not going to implement a new protocol one by one, so Haat sits in between:
- On one side, it is a Poppy "Company" that personal agents can talk to.
- On the other side, it is an ONDC/Beckn buyer app that reaches the sellers.
It understands Hinglish and Hindi, and it never places an order without the person's yes.
"do kilo aata aur 1 litre doodh" -> 2 x Whole Wheat Atta 1 kg, 1 x Toned Milk 1 L, Kashi Kirana Store, Lanka
-> "Total Rs 197, pay on delivery. Approve?" -> yes -> order KKS-1001 (placed once)
The part I care about most: the approval gate
Every order and every cancellation needs the person to approve one exact revision of the terms. The order then runs at most once, even across a server restart. If the outcome is unknown, the API answers 503 Retry-After. It never says "failed" when the order might have gone through. An agent being polite in a prompt is not a control, so the gate lives in the gateway.
What works today (v0.2)
- Poppy draft 0.3: discovery, full Session JWT verification, conversations with events and server-sent events, OAuth sign-in with PKCE.
- Hinglish and Hindi parsing: "2 kilo aata", "aadha kilo paneer", "12 ande".
- Basket logic: the pack sizes that waste least, and the single seller covering most of the list.
- Beckn buyer app: signing, registry lookup, search, select, init, confirm, status, cancel, and ONDC onboarding helpers.
- A local mock network (fake registry, gateway and three Varanasi sellers) so everything runs offline.
- 126 automated tests, all passing. The official Poppy validator reports 99 checks passed, 0 failed, 0 warnings. The 22 skipped checks cover features Haat doesn't offer yet.
What it does NOT do
- It has no live ONDC connection. That needs a legal entity, whitelisting and ONDC's approval.
- No real SMS provider for sign-in codes yet.
- Nothing here has touched a real seller or real money.
- The Poppy spec is a draft and moved fast in October, so expect breaking changes.
When I searched on 1 November 2026, I found Poppy SDKs and separate ONDC MCP servers, but nothing connecting the two. That is a search result, not proof. If you know of related work, please tell me.
Open source, and I'd like your help
Haat is open source under the MIT license. Most contributions don't need TypeScript:
- Tell me how your city spells pyaz, dahi or aata (the Hinglish lexicon)
- Add a domain pack
- Add a mock seller from your neighbourhood
- Improve the docs, or review the Hindi translation (it was machine-translated and needs a native reader)
If you have a feature idea, a bug, or a criticism of the design, please comment below. I'll read every one.
Status: I'm still working on Haat right now. I'll drop the GitHub link tomorrow, in my next post.
If you build on ONDC or Poppy, what would you want a gateway like this to do first?
Top comments (0)