Skip to the work
VSVineet Sharma
Building nowDelhi NCR, India

I ship productsfor the shop counter,the law chamber,and the GST file.

Builder and founder. Ten years of Python and Django on the backend, now shipping AI-shaped SaaS end to end — design, code, deploy, support. Dad of two, based in Delhi NCR, India.

Three products, four surfaces. Real seed data. No invented metrics.

The work

Four surfaces, all of them openable right now.

Nothing here is a mockup of a plan. Each one has a guided demo you can walk through, or a live app you can sign into.

01Retailer journey

OrderEasy— Retailer journey

Seed data · GreenCart Mini Mart

Run one shop — counter, stock, suppliers, and incoming orders.

A single product surface for the person behind the counter. Bill on POS with cash, UPI, credit or a split. Fix stock so the shelf matches the book. Keep the supplier khata straight. Take orders that come in from customers, set a simple offer, set today’s hours.

  • POS · cash / UPI / credit / split
  • Stock correction
  • Supplier khata
  • Incoming customer orders
Small shop is fine — start with a few products and the first bill.
oe-product-demos.vin8003.workers.dev/retailer/

POS bill · counter 1

Walk-in customer

#B-1042
ItemQtyRateAmount
Toor Dal 1 kg2168₹336
Full Cream Milk 500 ml434₹136
Atta 5 kg1245₹245
Refined Oil 1 L1152₹152
Iodised Salt 1 kg228₹56
Tea Leaves 250 g1145₹145
Sugar 1 kg246₹92

Total payable

₹1,162

CashUPICreditSplit
Preview of the retailer surface · seed data
Open in a new tab ↗
02Customer journey

OrderEasy— Customer journey

Seed data · GreenCart Mini Mart

Order from the shop you already know. Not a mall.

The other half of the same product. Pick your area, open the shop you already buy from, browse that shop’s catalogue and fill a bag. Choose delivery or pickup, place the order, track it under My Orders, and message the shop directly if something needs saying.

  • Shop-first, area-scoped
  • Bag → delivery or pickup
  • My Orders tracking
  • Message the shop
Not a marketplace. Not a delivery company.
9:41OrderEasy
G

GreenCart Mini Mart

Ward 4 · open till 9:30 pm

Search this shop’s catalogue
AllStaplesDairyHome

Toor Dal

1 kg · ₹168

In bag

Full Cream Milk

500 ml · ₹34

In bag

Atta

5 kg · ₹245

In bag

Refined Oil

1 L · ₹152

Add

Basmati Rice

5 kg · ₹520

Add
PickupDelivery

3 items in bag

₹447

Place order →
Preview of the customer surface · seed data
Open in a new tab ↗
03Legal research desk

CiteBench— Legal research desk

What needs you today — diary, matters, and research for Indian practice.

A case-law research desk built around how a chamber actually runs. Start on Today, work the Diary, open a matter as a proceeding rather than a checklist — orders, file and clocks in one place. Research by facts, legal question and court, then read the authorities the search actually retrieved.

  • Chamber diary & matters
  • Research by facts, question, court
  • Retrieved authorities, shown as retrieved
  • Multilingual briefs
Suggestions are not court directions.
citebench.ordereasy.win/research

Research · facts, legal question, court

Whether a statutory procedure that limits personal liberty must independently satisfy fairness

ConstitutionalSupreme CourtSince 1970
Search

Authorities retrieved

Shown as retrieved · not ranked by outcome

Kesavananda Bharati v. State of Kerala

1973

Supreme Court of India · Basic structure of the Constitution.

Maneka Gandhi v. Union of India

1978

Supreme Court of India · Procedure established by law must be fair.

K. S. Puttaswamy v. Union of India

2017

Supreme Court of India · Privacy as a fundamental right.

Vishaka v. State of Rajasthan

1997

Supreme Court of India · Guidelines in the absence of legislation.

Preview of the research desk · sample chamber
Open in a new tab ↗
04India GST invoice capture

GSTSlip— India GST invoice capture

Photograph a GST invoice. Get a clean register row.

Point a camera at a tax invoice — or upload a few JPEG, PNG or PDF pages of the same one. GSTSlip extracts invoice fields, line items, addresses and IRN, fills missing header fields from your defaults, and gives you a register you can export as CSV or Tally purchase XML.

  • Fields, line items, addresses, IRN
  • Your defaults fill the gaps
  • CSV + Tally purchase XML export
  • Fields stay on device until you export
GSTSlip does not connect to Tally or the live NIC IRP. Tally XML is a file you import. IRN lookup uses a GSP sandbox.
gstslip.grok.me

Tax invoice

Shree Traders

GSTIN 08ABCDE1234F1Z5

ST/2026/014804-09-2026
DescriptionHSNAmount
Sunflower Oil 1 L × 4015125,120.00
Wheat Flour 10 kg × 1211014,140.00
Toor Dal 30 kg07133,140.00
Taxable12,400.00
CGST 9%1,116.00
SGST 9%1,116.00
Total₹14,632.00

IRN
a3f9…e21c

4 pages · same invoice

Extracted fields

reading
Seller GSTIN
08ABCDE1234F1Z5
Invoice no.
ST/2026/0148
Invoice date
2026-09-04
Place of supply
Rajasthan (08)
Taxable value
₹12,400.00
CGST 9%
₹1,116.00
SGST 9%
₹1,116.00
Invoice total
₹14,632.00

Register · 1 row ready

Shree Traders · ST/2026/0148 · ₹14,632.00CSVTally XML

Missing header fields fall back to your defaults. Fields stay on the device until you export.

Preview of a capture · sample invoice
05Method

How the work actually gets made.

One person, four surfaces, a review queue. The interesting part is not the stack — it is what gets refused.

  1. 01

    Ship the surface, not the deck

    Each product gets one real surface a user can open. The demo hub is the pitch — ten screens, in order, the way the work actually happens.

  2. 02

    Write the guardrail first

    Before a feature lands, the line describing what it is not gets written. Those lines stay in the product UI, not just in my notes.

  3. 03

    Run a multi-agent desk

    Cursor Cloud Agents work branches in parallel while I review. Backend in Django, product surfaces in TypeScript, everything deployed to Cloudflare.

  4. 04

    Build in the open

    X is a lab notebook, not a brand channel. Progress, dead ends and the occasional rewrite go up as they happen.

What it is built with

Backend
PythonDjangoREST APIs
Frontend
ReactTypeScriptTanStack StartAstro
Edge & deploy
Cloudflare WorkersCloudflare Pages
Build loop
Multi-agent deskCursor Cloud Agents

Ten years of Python and Django behind the API; the product surfaces and demo hub run on Cloudflare.

06  ·  House rules

Lines that ship inside the products, not just in my notes.

Quoted verbatim from the live surfaces

  • One product surface. No invented metrics.

    Every demo, footer

  • Not a marketplace. Not a delivery company.

    OrderEasy Customer

  • Suggestions are not court directions.

    CiteBench

  • Fields stay on this device until you export CSV.

    GSTSlip

  • Small shop is fine — start with a few products and the first bill.

    OrderEasy Retailer

  • IRN lookup uses a GSP sandbox — not the live NIC IRP.

    GSTSlip

07About

Builder first. The title came after.

I spent ten years writing Python and Django backends — the unglamorous middle of other people’s products. Somewhere in there the interesting problem stopped being the API and started being the whole thing: what the screen should say, what the business actually does at 8 pm on a Tuesday, and who has to be trusted with the data.

So now I build the whole thing. OrderEasy for the shop counter,CiteBench for the chamber, GSTSlip for the pile of tax invoices nobody wants to type in. Backend, product surface, deploy, and the support reply when it breaks.

I work from Delhi NCR, India, and I am a dad of two — which is the real reason the tooling has to be fast and the scope has to be honest.

@vin8003 is a public lab notebook, not a brand channel. Progress, dead ends, and the occasional rewrite go up as they happen.

08  ·  Contact

Let’s talkabout the build.

Building something for Indian retail, legal practice, or GST compliance — or want a backend that someone will still understand in three years? Email is the fastest way in.

vin8003@gmail.com