Shashank Dhiman

Shashank Dhiman.

I build the real-time and AI infrastructure behind Masters' Union's learning platform — the parts that don't fail when production finally looks at them.

Jalandhar, IndiaOpen to remote@dhimanshashank

Pencil sketch portrait of Shashank Dhiman

The desk — toolkit

skills.sh

$ skills --list --all

## real-time

Mediasoup SFU · WebRTC · Redis Pub/Sub · MediaPipe · Event-Driven Architecture

## back-end

Node.js · Socket.IO · REST API Design · Express.js · Microservices · Serverless (AWS Lambda)

## databases

PostgreSQL · Redis · ClickHouse · MongoDB · DynamoDB

## devops & ai/llm

AWS (Lambda, SQS, S3, DynamoDB) · OpenRouter API · Docker · LLM API Integration · CI/CD · Git

## languages

TypeScript · JavaScript (ES6+) · Python · Java · SQL

## front-end

React.js · Next.js · Redux Toolkit · Tailwind CSS

$

Plate II — Experience

Where I've shipped.

1.5+ years, four production systems — currently building the real-time and AI infrastructure behind Masters' Union's EdTech learning platform (LMS).

  1. Jan 2025 — Present

    Associate Software Developer · EdTech

    Own the real-time backbone of the learning platform (LMS) at an MBA-equivalent EdTech institution — AI proctoring at exam scale (WebRTC/SFU, 200+ concurrent streams), a unified messaging layer, and an event-analytics pipeline. Shipped to production, serving live student cohorts.

    • EdTech
    • LMS
    • WebRTC
    • Real-time
    • LLM infra
  2. Qspider

    2024

    Software Development Intern

    Shipped Eventify — a MERN event platform with Stripe webhook-driven orders, JWT auth, and role-scoped access.

    • MERN
    • Stripe
    • JWT

B.Tech, Computer Science & Engineering · Guru Nanak Dev Engineering College, Ludhiana · 2021 — 2025 · CGPA 8.45

Recognition

Execution Expert

Certificate of Appreciation·Masters' Union & TETR·Aug 2026

Given for execution across a year of platform work — building the systems the institution runs on, and replacing bought-in infrastructure with our own.

≈ ₹1 lakh

saved per 100 exam sessions

Custom proctoring, built in-house — no third-party invigilation licence per session.

Signed by Pratham MittalFounder, Masters' Union & TETR

Plate III — Selected Work

Four systems. One year.

01 / 04Masters' Union · EdTech · production
Proctoring system architecture — production

FIG. — system architecture, production

AI Proctoring Platform

WebRTC at exam scale

  • 200+concurrent streams
  • +35%proctoring throughput
  • <200msalert latency

webrtc · mediasoup · mediapipe · openrouter · node

02 / 04Masters' Union · EdTech · production
Doubt & Discussion system architecture — production

FIG. — system architecture, production

Doubt & Discussion

Four chat types, one socket layer

  • 4chat types unified
  • −70%API latency
  • −60%DB round-trips

node · socket.io · redis · postgres · sequelize

03 / 04Masters' Union · EdTech · production
LMSevents01SQSqueue02LAMBDAclassify · transform03CLICKHOUSEyyyymm partitions04APImulti-tenant05−55% query timeevent-driven · columnar

Event Analytics Pipeline

Serverless ingest, columnar query

  • −55%query time
  • 9+event categories

aws lambda · sqs · clickhouse · node

04 / 04Qspider · internship

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);
}

Eventify

MERN · Stripe · webhook-driven orders

  • 0lost payments
  • 3user roles, scoped

react · node · express · mongo · stripe

Swipe to explore

Plate V — Engineering Log

Hard reload. Recording gone forever.

P2aws s3 · mediarecorder · node · May 2026

The clue

$ aws s3api list-multipart-uploads --bucket proctoring-prod  UploadId : a3f9...c2d1   State : in-progress  Parts    : 14 uploaded  Object   : <does not exist — 404>

Root cause

A multipart upload only becomes a readable S3 object after CompleteMultipartUpload fires. Until then the parts exist in S3 storage but produce a 404 on any GET. One missed event = permanent data loss with no server-side recovery hook.

The fix

Replaced the continuous stream with independent 30-second segments, each uploaded as a standalone PutObject — a complete, immediately readable file the moment it lands. A BullMQ job runs 10 minutes after quiz end time and merges whatever segments arrived, so even a full browser crash leaves an admin-viewable recording.

Measured, not claimed

live · synced

  • leetcode solvedbeats 90.6%
  • concurrent streams
  • proctoring throughput
  • api latency
  • db round-trips
240solved

leetcode · beats 90.6%

Easy105/ 963
Medium116/ 2111
Hard19/ 972
View profile

92 submissions in the past one year

MarAprMayJunJulAugSep

last 26 weeksbusiest day in orangemax streak 3252 active days

Plate IV — Territory

Real-time systems

  • websockets at scale
  • event-driven pipelines
  • low-latency state

AI infrastructure

  • inference queues
  • adversarial robustness
  • model-serving infra

fig. 05 — live signal · it notices you

The system is the portrait.