hi thereπ, I'm
Gaurav
Kumar
Backend-Focused Developer Β· Full-Stack Engineer
22, he/him
about me.
Hello! I'm Gaurav Kumar, 21 years old, from Faridabad, India. I'm a backend-focused developer building full-stack applications with Next.js, Node.js, and TypeScript. I'm especially interested in scalable backend systems, authentication, caching, and asynchronous processing - the parts of a product users never see but always feel. I'm AWS Certified (AI + Cloud Practitioner) and have solved 300+ DSA problems across LeetCode and GeeksforGeeks. My mission is to keep shipping, keep learning, and document everything worth sharing - from lessons learned to projects built from scratch.
what I build.
Backend Systems
Scalable APIs and relational data modeling with Node.js
Auth & Security
OAuth2, JWT sessions, and encryption at rest
Async & AI
Background jobs, caching, and LLM-powered features
skills.
projects.
Nex
- AI job tracker that scores matches and drafts cold emails for you.
- Encrypted OAuth refresh tokens at rest with AES-256-CBC and rotated JWTs in httpOnly, secure cookies to prevent session hijacking and token replay.
- Split AI workloads by cost vs. complexity - Claude Haiku for lightweight match-scoring, Sonnet for resume parsing and email drafting, cutting inference cost without sacrificing output quality where it mattered.
- Offloaded cold-email generation to a BullMQ background job and streamed tokens back via SSE, keeping the request thread non-blocking during long-running AI calls.
Category: Full-Stack + AI + Backend Systems
Tech Stack: Node.js, TypeScript, PostgreSQL, Prisma, Redis, BullMQ, Claude API, React, Docker
Wrap
- A URL shortener with instant redirects and real-time click analytics.
- Implemented cache-aside with Redis for slug lookups, cutting p50 redirect latency by avoiding a Postgres round-trip on the hot path.
- Decoupled click tracking from the redirect response by pushing events onto a BullMQ queue β writes happen async, so redirect latency stays flat regardless of analytics volume.
- Mitigated SSRF by validating target URLs against private/reserved IP ranges before fetch, and applied per-IP rate limiting to slow brute-force slug guessing and abuse.
- Used Clerk for auth and stored the owning user ID on each link at creation time, making ownership checks a single indexed lookup instead of a join.
Category: Full-Stack + Backend Systems
Tech Stack: Node.js, TypeScript, PostgreSQL, Prisma, Redis, BullMQ, React, Clerk, Neon
Echo
- A real-time team chat app with live channels and presence.
- Authenticated Socket.IO connections at the handshake via JWT-verifying middleware, rejecting unauthenticated sockets before they could join a room or receive events.
- Indexed { room, createdAt } as a compound index so room history loads via an index range scan instead of a collection scan, keeping pagination fast as message volume grows.
- Scoped room deletion to the creator via JWT-decoded user ID, then broadcast a room-deleted event so all connected clients evict the room from state in real time.
Category: Full-Stack + Real-Time
Tech Stack: Node.js, TypeScript, Express, Socket.IO, MongoDB, Next.js, Docker
nextauthforge
- A CLI tool that scaffolds full Next.js authentication in a minute.
- Built a CLI tool that scaffolds a full auth layer for Next.js App Router in under a minute, eliminating the boilerplate developers rewrite on every new project.
- Generated a JWT + MongoDB + httpOnly cookie auth flow with zero required configuration, while still exposing override points for teams with custom schemas.
- Published to npm as nextauthforge (npx nextauthforge init) - 250+ downloads since release, with zero paid promotion.
Category: Developer Tool + CLI
Tech Stack: Node.js, TypeScript, JWT, MongoDB, Next.js App Router, npm
CanvasSync
- A real-time collaborative whiteboard - draw solo, or share a room link and draw live with others.
- Split solo and room modes at the architecture level - solo boards never open a socket connection and live entirely in the browser, giving unauthenticated users a zero-latency canvas with no backend cost.
- Persisted each shape as its own field in a Redis Hash rather than one blob per room, so concurrent edits to different shapes never clobber each other and writes stay cheap regardless of board size.
- Wrote the shape-write path as an atomic Lua script executed inside Redis, closing a read-then-write race condition that a plain get/set pair would leave open under concurrent edits.
- Resolved conflicting concurrent edits with a two-field (version, versionNonce) last-write-wins check run identically on client and server, avoiding the overhead of a full CRDT library at this scale.
Category: Full-Stack + Real-Time
Tech Stack: React, TypeScript, Vite, Socket.IO, Node.js, Express, Redis
achievements.
HackWithMAIT 6.0
Global Fusion Hacks
AWS Certified AI Practitioner
AWS Certified Cloud Practitioner