Skip to content
thinkwarelabs
All work

WeDose

A pharmacy operating system for Indian hospitals

Year
2026 — in pilot
Our role
Product, design, engineering, infrastructure
Status
In pilot · one pharmacy onboarding · zero paying customers
Live at
wedose.in

The problem

We didn't begin as a studio that later built a product. We began with the product — a hospital management system. One of us grew up inside the trade, so the market wasn't an abstraction. But the more we specified an HMS, the clearer it became that three people could not build one honestly, and that we'd spend a year before anyone could use anything.

So between April and June 2026 we went and asked. Around twenty-five pharmacy owners in Dilkusha market in Jalandhar — the largest medicine market in the region — and another ten to fifteen across Yamunanagar and Karnal. We weren't demoing. We were asking what the day looks like.

Almost everyone was running Marg, and almost nobody liked it. The complaint we heard most plainly was that it is “too bulky and feels outdated.” Underneath that sat three specific failures: it's installed locally, so an owner can't see the counter from anywhere else; in practice it gets used as billing software and little more; and it does nothing useful about inventory or expiry. Stock ages quietly on a back shelf and becomes a write-off nobody predicted.

The second finding was strategic. The pharmacy is where a hospital's money leaks, and it's also the door into the hospital. Run the counter and you're already inside the building when you eventually build the hospital system.

How we approached it

The decisions that shaped it.

01

We cut the scope to a tenth of the ambition

The field work said an HMS was the wrong first move for a team of three. We cut to the pharmacy deliberately and treated the hospital system as the thing that comes after, once the pharmacy earns it.

02

Tax is computed on the server, never in the browser

The billing screen shows a preview and says so plainly; the authoritative CGST/SGST split and rounding happen server-side. It is slower to build, and it means the counter cannot bill without a connection. We took that trade because a tax figure the browser can influence is not a tax figure.

03

FIFO is enforced, and staff cannot override it

The earliest-expiry batch is the one that gets dispensed. We considered an override and rejected it — batch numbers are verified at the counter before a sale anyway, so an override would buy convenience the workflow doesn't need while reopening exactly the hole the system exists to close.

04

Partial fulfilment is a first-class field on the bill

Prescriptions routinely get dispensed incompletely, because an item is out of stock or the patient can't pay for all of it today. Software written from a desk models the happy path. We saw the unhappy one often enough to build it in.

05

GST reporting only appears if you're GST-registered

Not every pharmacy we met is registered. Rather than show everyone a feature most of them can't use, the module is conditional on registration status.

What we built

The system, module by module.

01

Masters

Medicine, supplier, doctor and credit-customer records, per pharmacy.

02

Purchase & returns

Purchase orders, goods receipt, and supplier returns.

03

Batch-level inventory

A batch ledger with stock adjustments and opening-stock import.

04

Counter billing

GST invoicing, collections, payments, and a cash register.

05

Prescription register

Written automatically, as the Drugs and Cosmetics Act 1940 requires.

06

Owner dashboards

Four views for the person who isn't standing at the counter.

07

Staff accounts & audit logs

Who did what, when — recorded rather than reconstructed.

08

Multi-tenant on Postgres

Row-level security per pharmacy, hosted in AWS's Mumbai region.

What we deliberately didn’t build

Cutting scope is the decision that made the rest possible.

A universal 30,000-SKU medicine master

This was the original plan and we abandoned it after the field work. There are lakhs of generic brands in the Indian market, and the staples of one market are unknown in another — a catalogue that's comprehensive nationally is noise locally. Instead: a shared read-only base catalogue plus a pharmacy-specific master built from that pharmacy's actual stock at onboarding. More work per customer, and a medicine list the counter recognises on day one.

Offline billing

Designed, in development, not shipped. We're not describing it as working until it is.

The hospital management system

Later, and only once the pharmacy earns it.

Built with

  • Next.js
  • TypeScript
  • PostgreSQL (RLS)
  • AWS Mumbai
  • Multi-tenant
Where it stands

Honestly, and without a growth chart.

Zero paying customers

As of August 2026. We'd rather say that than dress up a pilot as traction.

One pharmacy in onboarding

Swami Medical Hall, inside the Swami Atam Ramanand Charitable Eye Hospital in Radaur, Haryana — an unpaid pilot, introduced through our own network.

Not yet tested by a real rush

The software is built and demonstrable. It hasn't survived a real counter during a real rush. That's the next milestone, and we're not going to claim it early.