Skip to content
View naman1gupta's full-sized avatar

Highlights

  • Pro

Block or report naman1gupta

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
naman1gupta/README.md

Naman Gupta

Backend engineer in Bangalore — Java, Spring Boot, Kafka, Postgres.

By day I work on Vegapay's credit platform: I own the Credit Card Management System and the REST/SOA layers on a multi-tenant stack doing 10K+ TPS and 100M+ transactions a month, and I built its reporting service and SFTP → Kafka → S3 ingestion pipeline end to end.

By evening I build the thing underneath the abstraction, to find out whether I actually understand it. Everything below is written from scratch — no framework doing the hard part.

Systems you can run right now

Four backends I built and deployed. They're live, and the point is that you can break them:

What it proves
FrontRow 1,000 concurrent buyers, 3 seats, 0 oversold — a Redis hold in front of a conditional Postgres write, plus a transactional outbox how it works
Raft lab Five-node consensus you can kill, partition and delay — then watch re-elect and heal code · how it works
Liveboard A multiplayer canvas that converges without a central lock — grow-only-set CRDT, Lamport ordering how it works
LLM gateway Keeps serving when a provider falls over — routing, cache, SSE, circuit breaker how it works

Built from scratch, for the understanding

  • raft-from-scratch — Raft from the paper in plain Java: leader election, log replication, the §5.4 safety rules, over a transport built to be broken. 9 tests, including a 3∥2 partition that proves the minority commits nothing.
  • Kafka-cpp — a Kafka broker in C++: wire protocol, partitions, consumer offsets.
  • MyOwn-SQLite-in-cpp — SQLite's file format, B-tree pages and a query executor.
  • Myown-Git-in-cpp — blobs, trees, commits, the object store.
  • MyOwn-DNS-Server — message parsing, record types, recursive resolution.
  • Myown-grep-in-java — including a hand-written backtracking regex engine.
  • My-own-working-HTTP-server-in-Java — request parsing, concurrency, static serving.

Elsewhere

Before backend I spent a while on quantitative research — 35+ predictive signals across US and China equities, top 0.5% globally (rank 26) in AlphaVerse Premier League. That work is why I default to asking whether a result holds out-of-sample; "looks great in dev" is the same shape as "looks great in-sample." I also published NLP research on entity-based privacy for legal documents (IJSRCSEIT, 2023), and qualified for ICPC at rank 205.

namangupta.me · resume · LinkedIn · namangupta010904@gmail.com

Open to backend / distributed-systems roles (SDE1–SDE2) — Bangalore, Hyderabad, Pune, NCR, or remote.

Pinned Loading

  1. Kafka-cpp Kafka-cpp Public

    A Kafka broker written from scratch in C++ — wire protocol, topics, partitions, consumer offsets.

    C++ 1