Shashank Dhiman

Selected work

Four production systems.

One year. Mostly backend. Built where the failure modes mattered.

Proctoring system architecture — production

FIG. — system architecture, production

01 / WebRTC at exam scaleMasters' Union · EdTech · production

AI Proctoring Platform

An SFU-based proctoring platform routing 200+ concurrent student streams without decoding a single frame on the server. Behavioral classification (eye-gaze, tab-switch, multi-signal correlation) runs in client worker threads; OpenRouter-powered LLM summaries turn raw session events into reviewer-ready reports. Sub-200ms alert delivery to admin dashboards.

  • 200+concurrent streams
  • +35%proctoring throughput
  • <200msalert latency
  • webrtc
  • mediasoup
  • mediapipe
  • openrouter
  • node
  • postgres
  • redis
Case studyLive ↗
Doubt & Discussion system architecture — production

FIG. — system architecture, production

02 / Four chat types, one socket layerMasters' Union · EdTech · production

Doubt & Discussion

Direct chats, group threads, course discussions, and announcements — four conversation types sharing one realtime layer with sub-100ms delivery. DataLoader batching killed the N+1 patterns in chat history; the system tracks who's viewing what, so messages auto-mark-read when the recipient is already inside the thread.

  • 4chat types unified
  • −70%API latency
  • −60%DB round-trips
  • node
  • socket.io
  • redis
  • postgres
Case study
LMSevents01SQSqueue02LAMBDAclassify · transform03CLICKHOUSEyyyymm partitions04APImulti-tenant05−55% query timeevent-driven · columnar
03 / Serverless ingest, columnar queryMasters' Union · EdTech · production

Event Analytics Pipeline

Event-driven analytics: thousands of LMS events per day flow through Lambda into ClickHouse with YYYYMM partitioning and composite sort keys. A regex classifier maps raw events into nine categories, configurable without redeploy.

  • −55%query time
  • 9+event categories
  • aws lambda
  • sqs
  • clickhouse
  • node
Case study · soon

webhook.ts

// Webhook is the source of truth — client confirmation is never trusted
const event = stripe.webhooks.constructEvent(
  req.body,
  req.headers["stripe-signature"],
  process.env.STRIPE_WEBHOOK_SECRET,
);

if (event.type === "payment_intent.succeeded") {
  await Order.markPaid(event.data.object.metadata.orderId);
}
04 / MERN · Stripe · webhook-driven ordersQspider · internship

Eventify

Full-stack event-management platform — browse, book, and pay for events end-to-end. Stripe Checkout handles payment, but order state lives in the webhook handler — never the client confirmation — so a closed browser mid-payment doesn't lose a paid order. JWT auth + role-scoped middleware keeps organisers, attendees, and admins on their own surfaces.

  • 0lost payments
  • 3user roles, scoped
  • react
  • node
  • express
  • mongo
Case study · soonLive ↗

Only one case study is shipped today. The others sit on a queue — deep dives in the order I have something new to say.