cat experience/physics-wallah.md
    Current Role
    Software Development Engineer

    Physics Wallah

    Building and scaling student-facing platforms at India's largest EdTech unicorn — from Career Wallah and Tracker 360 (350K+ combined active users) to the Khazana migration and automation pipelines ingesting lakhs of hours of content.

    May 2025 – Present Noida, India
    Backend Trainee (May–Nov 2025) → SDE (Nov 2025–Present)
    150K+
    Active users
    Career Wallah
    200K+
    Active users
    Tracker 360
    500K+
    Users served
    Exam platforms
    300K+
    Records migrated
    Khazana 1.0 → 2.0
    200K+ hrs
    Video auto-ingested
    Khazana automation
    1M+
    Notes auto-ingested
    Khazana automation

    What I built & owned

    Career Wallah — owned end-to-end

    150K+ active users

    Ideated and pitched Career Wallah, a personalized college-prediction and career-guidance platform. I currently own its end-to-end development — architecture, backend, frontend and shipping. It now serves 150,000+ active users with 200,000+ sign-ins.

    Tracker 360 — designed & built solo

    200K+ active users

    Designed and independently developed Tracker 360, a personalized study-planning and progress-tracking platform that dynamically generates student-specific learning plans and tracks progress against them. Now serves 200,000+ active users.

    Khazana 1.0 → 2.0 migration

    300K+ records

    Led the Khazana 1.0 → 2.0 migration: designed the system architecture and database schema, built the migration pipelines, and coordinated a multi-team rollout to move 300,000+ records onto the new schema without downtime for students.

    Khazana ingestion automation

    200K+ hrs • 1M+ notes

    Owned and architected the automation layer for Khazana, enabling end-to-end autonomous ingestion of 200,000+ hours of video and 1M+ notes — supporting a platform used by 2Cr+ students with zero manual intervention in the content pipeline.

    High-traffic examination platforms

    500K+ users • 170K+ records

    Built and scaled score calculators, rank predictors and counseling tools that hold up under exam-day traffic spikes, serving 500,000+ users. Developed Node.js/Python data pipelines that extract, clean and process 170,000+ student result records across JEE, CBSE, ICSE and state boards.

    Rapid internal tooling

    48h → 2h

    Shipped internal tools in as little as a day, including a bulk certificate generator (10,000+ certificates generated), a Next.js automation portal that cut a recurring Khazana workflow from 48 hours to 2, and a faculty resource-planning platform.

    How it was built

    Architecture notes on the three systems I own. Two of them have full case studies.

    Career Wallah

    A single Next.js 16 service on Kubernetes. Prediction engines run over 30,882 cutoff rows held as committed JSON in process memory, so no database read sits on the hot path. MongoDB spans four logical databases for leads, payments and OMR submissions; Redis holds PW tokens, entitlement flags, rate limits and live per-booklet aggregates.

    • Twelve JEE and eight NEET board adapters unify different cutoff schemas; every result row declares which of a student's four ranks produced it
    • OMR scoring stays up during a database outage: the image URL travels in an HMAC-signed token and all persistence runs after the response
    • Refresh-token rotation is serialised with a Redis lock per phone so concurrent page loads cannot spend the same token and log the student out
    • Payments are re-verified server-to-server and owners resolved from our own pending row, never from the gateway payload
    Next.js 16
    MongoDB
    Redis
    Docker
    Kubernetes
    Jenkins
    AWS Lambda

    Tracker 360

    A pure, unit-tested scheduling engine derives each day's list, backlog and pace from a small plan document on every read. Course content ships as version-pinned JSON; MongoDB stores plans and members with a unique partial index guaranteeing one active plan per student; Redis holds PW tokens and rate-limit counters.

    • Plan documents cut from 133 KB to 2 KB by deriving items on read, with a verification step that guarantees no student's completed progress is orphaned
    • Today's budget is fixed at the start of the day: finishing or moving work shrinks the list instead of refilling it
    • Watch progress synced from PW's video API in chunks under a 5 s total budget, picked round-robin across subjects
    • Strict per-request CSP with nonces, double-submit CSRF, and a lint rule that fails the build on inline styles
    Next.js 16
    MongoDB
    Redis
    Docker
    Kubernetes
    Jenkins
    Elastic APM

    Khazana ingestion automation

    A self-service portal where category teams file content sheets, a superadmin approves them, and an in-process worker publishes them to PW's admin APIs across three hosts and API versions — with no message broker. MongoDB is both the store and the queue.

    • A partial unique index on the running status is the distributed lock: two pods claiming the same job get a duplicate-key answer, not a race, backed by heartbeats and stale-job reclaim
    • Seven-step resumable pipeline with idempotency at four levels (chapter, topic, sub-topic, item) against an API that offers no idempotency keys
    • Credential failover that tells a dead uploader token apart from a load-shed 401 by verifying the token alone, then swaps accounts mid-run
    • Row-level optimistic merge lets two people edit one sheet; a hand-rolled RFC 4180 parser keeps row numbers matching the spreadsheet
    • Mail goes through an outbox with per-message dedupe keys enforced by a unique index; 39 declared indexes are created individually so one failure cannot block the rest
    Next.js 16
    MongoDB
    Docker
    Kubernetes
    Jenkins
    Gmail API
    Slack

    Tech stack

    Next.js
    TypeScript
    Node.js
    Express.js
    Python
    MongoDB
    PostgreSQL
    Redis
    Docker
    Kubernetes
    Jenkins
    React
    $ cd ../portfolio