KB karanbangia.dev
Open to relocation & remote

Karan Bangia

Backend and distributed-systems engineer. I build event pipelines that keep their promises — ordering, idempotency, recovery — while the traffic goes up and to the right.

NowSenior SWE, Mastercard
Experience6+ years
CoreGo · Java · TypeScript
Notice30 days
BasedGurugram, UTC+5:30
13B+ Transactions / year Real-time financial-insights platform at Mastercard, on Kafka, Oracle and Redis.
200K+ Sustained TPS Partition-aware processing across 500+ Kafka partitions, ordering intact.
450M Users reached Live-highlight feature at ShareChat, led as a team of three.
50% API latency Event-loop lag, query shape, socket timeouts and Redis slowlogs, one at a time.
$50K Saved / month WebRTC-to-HLS livestream adapter, with a 30% lift in daily active users.
Six years of it

The work.

Five roles, one throughline: systems that have to stay correct while they get faster.

Mastercard

Senior Software Engineer · Real-time insights & fraud analytics
2024.09 → now
  • Designed and scaled a real-time financial-insights platform processing 13B+ transactions a year on Kafka, Oracle, Redis and microservices.
  • Architected partition-aware event processing across 500+ Kafka partitions, removed database contention, and lifted throughput to 200K+ TPS without losing ordering or consistency.
  • Built the resiliency layer: Redis Bloom filters for dedupe, intelligent batching, idempotent consumers and replay-safe recovery.
  • Designed Oracle-to-Kafka backfill pipelines for historical transactions, and led distributed-systems design reviews for ingestion and parallel processing.
GoNode.jsKafkaOracle SQLRedisBloom filtersKubernetesMicroservices

NextOrder

Software Engineer II · Ordering platform
2023.09 → 2024.09
  • Built a real-time voice bot for order handling over WebSockets, wiring live speech transcription to text-to-speech.
  • Shipped an LLM chatbot on Llama and Groq with LangChain.
  • Designed a multi-vendor SMS and email service using Strategy and Factory patterns with reusable templates, retries and vendor failover — 100% uptime through provider outages.
GoTypeScriptWebSocketsLlamaGroqLangChainGCPFirebase
ShareChat logo

ShareChat

Software Engineer I · Live & feed infrastructure
2021.12 → 2023.10
  • Built a WebRTC-to-HLS livestream adapter and put HLS playback into the live feed — a 30% rise in daily active users and USD 50K/month off the infrastructure bill.
  • Migrated 20K+ microservice API operations with the Strangler pattern and progressive percentage rollouts: 100% availability, zero migration incidents.
  • Cut core API latency by 50%, working through event-loop lag, memory pressure, query plans, socket timeouts, Redis slowlogs and concurrency limits.
  • Architected and led three engineers on a live-highlight feature for 450M users using async processing, batching and EMQX — click-through up 20%.
  • Moved 50M Redis keys to MySQL with scripted cursor scans, halving storage cost and improving availability.
GoNode.jsTypeScriptWebRTCHLSEMQXRedisMySQLGCP

Ericsson

Software Engineer I · BSS microservices
2020.07 → 2021.11
  • Delivered a Spring Boot party-interaction microservice for customer sales representatives inside 80% of the planned timeframe.
  • Reduced technical debt by 20% through coding standards, unit tests, coverage gates and architectural cleanup.
JavaSpring BootCassandra

Ericsson

Software Engineer Intern
2020.01 → 2020.06
  • Cut delivery risk by 10% by documenting and testing corner cases with JUnit, Mockito and Cucumber before they reached production.
JavaSpring Boot
Under the numbers

Two systems, drawn.

The shapes behind the figures above — what actually moves, and where the hard part sits.

Partition-aware ingestion — Mastercard

The contention was in the database, not the broker. Keying events by account and fanning them across 500+ partitions let every consumer work in parallel while each key stayed strictly ordered.

SOURCE HISTORICAL BACKFILL KEYED FAN-OUT EXACTLY-ONCE EFFECT SERVING Oracle SQL Backfill job Kafka topic Idempotent consumers Insights transaction ledger replay-safe, chunked 500+ partitions key = account Redis Bloom dedupe + batching + fraud ordering preserved per key · 200K+ TPS sustained · 13B+ transactions / year
200K+ TPS 500+ PARTITIONS PER-KEY ORDER

WebRTC to HLS, in the feed — ShareChat

Broadcasters were already on WebRTC; viewers did not need its latency, and paying for it at feed scale was the expensive part. An adapter transcoded the ingest into HLS segments so the feed could play from cache.

BROADCAST LOW-LATENCY INGEST ADAPTER CACHEABLE DELIVERY Creator WebRTC ingest HLS adapter CDN cache Live feed camera + mic sub-second latency per-viewer cost segments + playlist fan-out inline result → +30% daily active users · −USD 50K / month · live-icon CTR +20% for 450M users
450M USERS −$50K / MONTH +30% DAU
Receipts

Stack.

Tap a technology to see which roles actually used it. Dashed chips are known but not tied to a listed role.

Languages

Python C++

Distributed systems

Data & messaging

PostgreSQL

Cloud & infra

Docker AWS

Applied AI

All five roles shown.

Nights and weekends

Built outside work.

A product, not a demo — shipped to web and to the App Store pipeline off one shared engine.

An audio-guided boxing workout app. It calls combos over configurable rounds and rest, mixes in movement and defense prompts, and adapts to beginner, intermediate or advanced profiles — hands stay up, no screen-watching.

The interesting constraint is timing: audio cues have to land on the beat of a round while the timer keeps running in the background, on two very different runtimes. The combo engine, round manager and timer live in one shared TypeScript package that both the web and native apps consume, so the workout behaves identically in a browser and on a phone.

Repo
Turborepo + pnpm workspaces
Web
React 19, Vite 6, Tailwind 4
Mobile
Expo / React Native, iOS + Android
Core
Shared TypeScript engine
Release
EAS Update, Netlify
Owns
Design, build, ship
Shipped screens
Boxing Coach live coaching screen: round 1, 1:52 on the clock, and the combo 1-2-3-2 spelled out as jab, cross, lead hook, cross.
Live coachingCombos called against a running round clock, with the punch names spelled out underneath.
Boxing Coach punch numbers reference: numbers 1 to 6 mapped to jab, cross, lead hook, rear hook, lead uppercut and rear uppercut.
Punch numbersThe coach reference. Calls use lead and rear, not left and right, so they stay correct for southpaws.
Boxing Coach progress overview: 32 total rounds, 1 hour 17 minutes, 5 sessions and 2.1 thousand punches called this week, above a training log calendar.
ProgressRounds, time and punches called, rolled up by week, month and year over a training log.
Say hello

Let’s talk about
hard traffic.

Availability
30-day notice period
Location
Gurugram, India — open to relocating
Work setup
Full-time, contractor, or EOR
Sponsorship
Required for relocation