What I'm building

A live snapshot of every product I'm working on, generated from my engineering journals. Last updated 11 Jun 2026. If stale, run the wrapup script from Claude code.

Aaj Kya Seekha

active

School revision on WhatsApp for India — the kid plays a daily retrieval quiz, the parent gets one dinner-table question the kid just got right.

WhatsApp (Wizard-of-Oz, no code yet) · Claude (content drafting)

Now: A one-week manual pilot with a few real families — validate the habit before writing any software.

Work history (1 entry, since 11 Jun 2026)
  • 11 Jun 2026: Idea to a runnable pilot kit in one day

    Kicked off from a research-backed concept: retrieval practice and spaced repetition are the revision techniques that demonstrably work, and WhatsApp is where Indian families already are. Deliberately wrote zero code — the first test is a fully manual, scripted seven-day experience run by hand with real families: a daily ten-question quiz for the student and one dinner-table prompt for the parent, drawn only from answers the student got right. Drafted the complete kit (day-by-day message script, a 60-question Class 10 bank, an operator manual), then verified every question against the official NCERT textbooks programmatically, catching and fixing three errors.

Wrong Is Right

active

Trivia game with one twist: you win by picking the wrong answer.

Expo (React Native) · Expo Router · Zustand · Supabase

Now: School-subjects mode — Class 10 chapters as playable categories.

Work history (4 entries, since 22 Apr 2026)
  • 10 Jun 2026: Build maintenance: Expo SDK rollback

    Rolled the app back from an accidental Expo SDK 55 jump to the intended SDK 54 — major upgrades should be deliberate, not a side effect of a loose version range. Restored two missing router dependencies and fixed an iOS icon configuration key so the light/dark icon variants resolve correctly.

  • 9 Jun 2026: 2,700-question bank and a schoolwork section

    Grew all twelve trivia categories to 70 questions per difficulty — 2,700 questions total, enforced by a validator. Added Class 10 schoolwork as a new kind of section: each subject is its own walled-off section and each chapter a category, so adding a subject is a configuration change, not a refactor.

  • 2 May 2026 – 16 May 2026: Leagues, an AI question pipeline, and a hardening pass

    Added weekly leagues with automated closing — moved the scheduled job from CI cron to pg_cron so it lives next to the data. Built an AI-assisted question-generation pipeline. Followed with a code-review wave: centralized game rules and category definitions, tightened types.

  • 22 Apr 2026 – 28 Apr 2026: Zero to released v1 in a week

    Built and released the full game in six days: the pick-wrong mechanic with time bonuses and streak multipliers, a seeded daily challenge identical for every player worldwide, true/false rounds with explanation cards, shareable score cards, and translations.

PartyKitty

active

App for Indian kitty groups — monthly dues ledger plus party coordination (date polls, food preferences, tambola), replacing the WhatsApp + paper + Excel workflow.

Expo (React Native) · Supabase · PostHog · EAS

Now: Play Store internal release — verifying everything on a real device before the first real party runs on the app.

live

Work history (6 entries, since 17 May 2026)
  • 8 Jun 2026: Hardening after real-world use

    Fixed the failures only real usage finds: an onboarding deadlock, auth flows hanging on spinners, sign-out breaking on web (React Native's Alert is a silent no-op there), and phone-number paste handling.

  • 3 Jun 2026 – 5 Jun 2026: WhatsApp share-outs and first production build

    Built a share layer that pushes generated images into the group's WhatsApp — live party-status snapshots and month-end settled-ledger summaries — plus handover flows for date polls and food preferences. First production Android build completed. Deliberately deferred deep-link infrastructure as premature at current scale.

  • 1 Jun 2026 – 2 Jun 2026: Design system: Velvet Gulmohar

    A bold-festive design reset, landed safely: backward-compatible design tokens first, then a full component layer (buttons, cards, sheets, chips and more), then every screen migrated. Dark mode became the default with an in-place reactive toggle.

  • 29 May 2026 – 31 May 2026: New information architecture

    Rebuilt navigation around how a real host describes the app: a home listing all your kitty groups, each opening into a stack of months, each month a party hub where the coordination features live. Added multi-kitty membership, admin settings, and archived groups.

  • 23 May 2026 – 26 May 2026: Five features, Hinglish copy, analytics

    Shipped date-decide polls, food preferences, tambola with themed tickets and a calling board, and a living party card. Rewrote every user-facing string in Hinglish for the actual audience. Wired a PostHog event funnel to measure whether the core ledger loop is really used. Closed with a documentation audit reconciling plans with the shipped app.

  • 17 May 2026 – 22 May 2026: Kickoff to working ledger in six days

    From blank repo to a live product slice: wrote the one-pager, ran five user interviews (Mom Test style), and let them pick v1 — a dues ledger for the group. Interviews reframed the target user from the host alone to the whole kitty group. Built phone-OTP onboarding and a ledger running on live data, with settle-month and self-pay flows.

NSRL CRM

active

Multi-tenant logistics CRM — vehicles, drivers, trips, shipments, bookings, invoices and documents for a transport operation.

Next.js 15 · React 19 · TypeScript · Supabase · Zod

Now: Staged rollout of the relational modules (trips, shipments, bookings, invoices, documents).

Work history (3 entries, since 2 Sept 2025)
  • 27 May 2026 – 30 May 2026: Full relational CRM in four days

    Revived the project with a concentrated build: trips with lifecycle rules (capacity checks, double-booking prevention), shipments with auto-status, bookings, invoices, and a documents module with per-organization storage quotas. Reworked drivers as standalone roster records — most drivers never log in, so requiring an account was the wrong model. Role-gated every mutating API.

  • 2 Oct 2025 – 30 Oct 2025: Tenancy and CRUD architecture

    Settled the multi-tenant security model: tenancy enforced at two independent layers (database row-level security plus repository-level scoping) so a missed filter fails closed instead of leaking data. Built a generic typed CRUD repository that every table reuses.

  • 2 Sept 2025 – 29 Sept 2025: Foundation

    Scaffolded the app — dashboard, core pages, authentication and roles, database schema — with a mobile-first, duotone visual identity in vanilla CSS.