Udyamik

Multi-app platform · Made in India

One login for a school, a lender, a clinic and a chemist

Udyamik runs the small businesses of small-town India on one platform. Each organisation gets its own database schema and its own screens. Each person gets one account, one document vault and one feed, and keeps all three when they leave.

Switch the organisation in the console and watch what changes: the navigation, the schema answering, the records on the canvas. What does not change is who you signed in as.

No credit card · no passwords anywhere, an OTP and a device PIN instead

Built on

  • WhatsApp
  • Razorpay
  • DigiLocker (APAAR)
  • Postgres row-level security
Udyamik Demo Clinic
schema=clinic · tenant_id scoped

In queue

4

longest 22 min

Seen

11

since 09:00

Walk-in

7

of 15 today

Collected

8,450

OPD, rupees

Today's visits

03 Oct 2026 · 2 consulting rooms
TokenPatientUHIDAge / SexSlotDoctorStatus
A-014Ramesh KumarUH-0024154 / M09:40Dr IyerIn consultation
A-015Lakshmi NarayanUH-0011861 / F09:55Dr IyerWaiting
A-016Mohammed IrfanUH-0090733 / M10:10Dr IyerWaiting
B-004Anita DesaiUH-0045229 / F10:10Dr RaoBilling
B-005Suresh BabuUH-0133047 / M10:25Dr RaoWaiting
A-013Geetha KrishnanUH-0007638 / F09:25Dr IyerDone
B-003Nagaraj GowdaUH-0068966 / M09:55Dr RaoDone

Find patient: mobile number, UHID, or name. One box for all three, we search whatever you type.

The real workspace switcher. Three organisations, three schemas, one account.

Eight Apps, one account

Each App owns its own schema, its own roles and its own screens. They share identity, documents, notifications, billing and audit, so a second App does not mean a second login for your staff or a second account for the people you serve, and a person who belongs to three of them still has one login.

every App in detail

Built on hard opinions

Every generic SaaS dashboard ships the same defaults. We picked the ones a school in a tier-3 town, a lender in a village and a two-doctor clinic actually need, and rejected the ones they do not.

Data stays in India
Mumbai region only
DPDP Act aligned
Grievance Officer on file
Row-level security on every table of business data
Postgres-enforced, not app-enforced
Audit trail everywhere
fee waivers, role changes, report publishes, prescriptions
Nightly encrypted backups
age AES-256 · 14-day retention · restore-tested

One spine, four trades

Read a row rather than a column. The platform supplies each of these once, and every App spends it differently. That is the whole of why a vertical here takes months rather than years, and why a person who belongs to four of them still has one account.

Supplied once School edu Lender lending Clinic clinic Chemist pharmacy
One identity public.users A parent A borrower A patient A customer with a khata
One document vault public.user_documents Marksheet, transfer certificate KYC pack, signed agreement Prescription, discharge note Prescription against an H1 sale
One notification meter counted before the send Fee due, absence, report card Installment receipt, overdue Prescription, follow-up Bill link, refill reminder
One audit log before and after, per change Fee waiver, role change, publish Disbursal, write-off Prescription issued Expired-batch write-off
Its own schema row-level security on every table edu lending clinic pharmacy

Cross-App reads go through the other App's service or a published event, never a SQL join across schemas. That rule is why the bottom row can say four different things and still be safe.

Your account · schema public

You are not a row in someone's database

Most business software makes the organisation the primary record and the person a foreign key. Udyamik is built the other way round. There is a person plane that belongs to you and a tenant plane that belongs to each organisation, and they are different schemas on purpose.

A child's immunization record belongs to the family, not to whichever clinic gave the dose. A marksheet belongs to the student, not to the school that printed it. So when you leave, it comes with you.

  • Your family

    A real tree: spouse, parents, children, siblings. Each member carries their own medical history, filed against them rather than into a shared folder.

  • Your documents

    One vault you own. A school gets a pointer to the marksheet, not a copy, so changing school is a new pointer rather than a re-upload.

  • Your feed

    Fees due at one school, a report published at another, an installment recorded at a lender: one chronological surface across every organisation you belong to.

  • Your record

    Academic history and medical history both outlive the organisation that created them. Leaving a school does not delete the marksheet.

See the family record

Free, and no organisation required

Personal workspace

Members

6

three generations

Reports

41

filed by member

Values

312

trended

Medicines

4

ongoing

Lab values

Each range is the issuing lab's own
DateMemberTestValueLab's rangeSource
28 SepSelfFasting glucose118 mg/dL70 - 100Lab PDF
28 SepSelfHbA1c6.1 %4.0 - 5.6Lab PDF
28 SepSelfCreatinine0.9 mg/dL0.7 - 1.3Lab PDF
14 SepMotherHaemoglobin10.4 g/dL12.0 - 15.0Lab PDF
14 SepMotherVitamin D21 ng/mL20 - 50Lab PDF
02 SepSon, age 7Weight22.5 kg-Self-entered
19 AugSelfFasting glucose109 mg/dL74 - 106Lab PDF

We reproduce the range the lab printed and never add a verdict of our own.

Each value against the range its own lab printed. Self-entered rows say so.

Data safety

Encrypted nightly. Recoverable always.

The DPDP Act makes you responsible for losing data, and so does every Indian school we have talked to. The backup pipeline is treated as a feature: documented, rehearsed, and restorable by you without us.

Where the data sits

The database and its backups are in Mumbai and stay there. A WhatsApp message reaches Meta and a Sahayak question reaches a model endpoint, and both are named in the privacy policy. Health records have no third party at all.

Encrypted before it leaves the database

Every nightly dump is encrypted with age (AES-256) at the source, using a public key the server only knows how to write with. The matching private key never touches the production machine.

  • pg_dump custom format, compressed
  • age public-key recipient model
  • plaintext exists only in memory on restore

02:30 IST, every night

A systemd timer fires the backup in the quietest window: no teacher marking attendance, no parent paying a fee, no admin at a desk. A miss while the box was off is caught up on the next boot.

  • 14-day on-box retention
  • persistent timer, so a reboot does not skip a night
  • restore rehearsed and documented

Your data survives us

If we vanished tomorrow, a customer holding the private key could decrypt their dump and stand the database up on any Postgres 16. No proprietary format and no lock-in on the data you trusted us with.

  • age: open, audited, standards-based
  • a standard Postgres custom-format dump
  • every restore path documented publicly

One price per App

The same figure whichever App you run. An organisation that takes a second App pays it twice, on the same login and the same staff list.

₹500/month

₹4,800/year

per App · per App, per organisation

At this price

6 apps

Your own account, with the family tree, the document vault and the health record, costs nothing and needs no organisation.