parent › Can a parent see another school's attendance?
Take away the evidence and watch it get more honest, not more confident.
rehearsed demo — hand-authored, on-device, no model, no network
The engine above is a rehearsed demo — it says so itself. The Guide is not. It's a live AI that answers only from what I've written down, and refuses the rest. Ask it something it can't know — watch it tell you.
02 / atlas
A different kind of map.
An interactive atlas of Nepal — its geology, minerals, rivers, heritage and history laid over a 90 m Copernicus relief. A living map of the country today and a second atlas of ancient Nepal; a 3D flyover, poster export, and an English/नेपाली toggle.
Held to the same standard as the software — every figure sourced, nothing invented. Where a fact couldn't be sourced it's marked unsourced or unattested rather than dressed up as settled. And the claims that failed checking weren't quietly dropped — the ancient atlas publishes them, verbatim, in its own "what we could not source" register: what was searched, and why it failed.
Calm, honest software for real-world problems — most of them in India. I obsess over edge cases, honest copy, and the moment the software has to work for someone stressed and out of patience.
Multi-tenant school console — attendance, fees, messaging, assignments, emergency alerts. Tenant isolation enforced by the database itself, not the app code.
VERIFIED · codebase
Postgres FORCE ROW LEVEL SECURITY on every tenant table, scoped per request with SET LOCAL app.current_school_id. A query for one school physically cannot return another's rows — enforced below the application, in the engine.
-- every tenant table, no exceptionsALTER TABLE attendance ENABLE ROW LEVEL SECURITY;
ALTER TABLE attendance FORCE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation ON attendance
USING (school_id = current_setting('app.current_school_id')::uuid);
-- scoped per request, before any query runsSET LOCAL app.current_school_id = '…';
Reads your insurance policy in the moment of crisis and tells you exactly how to claim — every answer quoted verbatim from your actual policy, never guessed. English and Hindi. For India.
you ›
QUOTED VERBATIM · CLAUSE 7.2"Room rent is capped at 1% of the sum insured per day; charges above this limit are deducted proportionately across the claim."Confidence: HIGH — exact match
you › Does it cover a cracked phone screen?
NO MATCH IN POLICYNot stated in your policy.
EN · clause 7.2"…deducted proportionately across the claim."
हिं · खंड 7.2"…पूरे क्लेम पर आनुपातिक रूप से काटा जाएगा।"
Trust-first AI grading and a re-teaching coach: it admits what it can't read, keeps a human in the loop, then coaches the next lesson.
Aarav K.3/4 correctauto-graded
Meera S.4/4 correctauto-graded
Dev P.[illegible] — needs human review
HUMAN CONFIRMED · DRAFTING NEXT LESSON
Dev mixed up area and perimeter on Q3. Drafted a 6-minute re-teach: one worked example, one for him to try, one exit-ticket check. You approve before it goes out.
A guest camera for Nepali weddings — guests scan a QR, get a fixed number of shots, and every photo lands in the host's shared album within seconds of finding signal. It doesn't compete with the photographer on quality; it competes on tonight. Built for banquet halls where the connectivity is as bad as the moment is precious.
the rule under everything: never lose a guest's photo
capture = uploadone action — the network is our problem, not the guest's
offline-firstcapture succeeds with zero network, every time
hide, never deletewhere any rule conflicts with keeping a photo, the photo wins
05 / obsession
How I work.
I build for the worst moment, not the demo. The parent who can't open the app because their kid is sick and the fees are due today. The policyholder reading fine print at 2am after a flood. If the software fails them, calm and honest copy is the difference between trust and panic.
So I obsess over edge cases and over the words on the screen. Silence beats a confident wrong answer. When the system isn't sure, it says so — plainly — instead of guessing well enough to be believed and wrong enough to hurt.
My read on insurance in India is that the story is less outright rejection than quiet shrinkage — sub-limits and deductions most people never read. But that's my impression, not a sourced statistic, so the exact figure stays withheld until I can cite it.
STAT WITHHELD · UNVERIFIED · source pending (IRDAI Annual Report)
06 / build with me
Need something built?
I take on a few custom builds at a time — web & mobile apps, AI-powered tools, internal systems, and the occasional rescue of a project that's gone sideways. Same standard as my own products: honest, calm, and built for the worst moment, not the demo.
01Tell me what you need — in plain words. No spec required.
02I scope it honestly — including the parts I'd talk you out of.
03We build, and you watch it work before you have to trust it.
07 / colophon
What I've shipped, and when.
now · liveNoxNocTechSHIPPED
now · liveClaimSarathiLIVE
now · liveNepal — An Interactive AtlasLIVE
now · liveJhalakoLIVE
now · liveReTeachLIVE
Early in my career — five things live on the internet right now, and you can click every one of them.
Set in Fraunces, Hanken Grotesk & Geist Mono — self-hosted, subset, no font CDN. Hand-written HTML and CSS; the JavaScript is mine, the motion rides on GSAP and Lenis. No framework, no build step, no bundler. No analytics, no trackers, no cookies: the only network calls this page makes on its own are four reachability checks — everything else happens only when you use the Guide or the form.