Open to internships & full-time roles

Naman KundraI build AI agents

Full-stack and AI systems engineer. Agents you can trust in production, distributed systems that survive failure, and the products around them. ECE @ Thapar Institute.

LIVECodeforces 1462 SpecialistLeetCode 1832 CodeChef 1524 GitHub 893 contributions this year
0GitHub contributions this year
0LeetCode problems solved
0%root-cause accuracy, Nightshift
Specialiston Codeforces, live rating 1462

Selected work

Systems I designed, built and measured.

Each one started from a real problem. Each one ships with numbers, and says honestly where those numbers stop.

● nightshift.naman.sbs
Nightshift: Pick an incidentNightshift: Benchmark
01Multi-agent AI · ReliabilityLive

Nightshift

An AI on-call engineer that survives its own crashes.

Why I built it

When an alert fires at 3 a.m., the first hour goes into correlating metrics, logs and deploys by hand. I wanted an investigator that does that legwork, backs every claim with evidence, and can never take a risky action without a human.

  1. Alertfires
  2. Commanderplans hypotheses
  3. 4 specialistsmetrics · logs · changes · code
  4. Evidence boardevery claim cited
  5. Trust gatehuman approves fix
How it works

A commander agent plans hypotheses and hands one precise question to each of four specialists (metrics, logs, changes, code). They work in parallel and write to an evidence board. Risky fixes go through a trust gate. The whole investigation is a Temporal workflow, so killing the worker mid-incident just resumes it, with no repeated LLM calls. It was also onboarded onto real Linux hosts, including an unmodified WordPress stack, with auto-discovered service graphs.

0%root-cause accuracy on held-out incidents (real LLM)
0%unsafe actions across every run
0%claims grounded in evidence
0injected production failures in the public benchmark
PythonTemporalMulti-agent LLMsNext.jsLokiLinux
$ loglens rank incident.logscanning…
  1. 12:04:01.112apiINFOGET /orders 200 in 41ms0.02
  2. 12:04:01.380authINFOtoken refreshed for session <ID>0.01
  3. 12:04:02.007ordersWARNslow query: SELECT * FROM orders took 2.1s0.61
  4. 12:04:02.215cartINFOcache hit ratio 0.930.03
  5. 12:04:02.540ordersERRORQueuePool limit of size 20 overflow 10 reached0.97
  6. 12:04:02.771apiINFOGET /health 200 in 2ms0.00
  7. 12:04:03.020ordersERRORconnection timed out after 30s waiting for pool0.92
  8. 12:04:03.301paymentsINFOwebhook delivered <UUID>0.02
  9. 12:04:03.644apiERRORGET /orders 503 in 30012ms0.74
  10. 12:04:03.910cartINFOGET /cart 200 in 18ms0.01
Illustration of the CLI output · 37.5 MB int8 model · CPU only
02ML from scratch · Observability

LogLens

A log-intelligence model, trained from scratch, that runs on a laptop CPU.

Why I built it

An incident produces thousands of log lines, and most of them are noise. Sending all of it to an LLM is slow and expensive. LogLens flags the incident window and returns just the handful of lines that explain it, with zero LLM API calls.

  1. Raw logs
  2. Parse + mask<IP> <PATH> <NUM>
  3. Line encoder33.6M params
  4. Window model256-line context
  5. Ranked suspectstop-15 lines
How it works

Logs are parsed, masked (IPs, paths, durations) and BPE-tokenized. A 33.6M-parameter line encoder pretrained on 14 log systems feeds a window model with anomaly and per-line suspicion heads. It is exported to int8 ONNX with an embedding cache, and exposed as a CLI, an HTTP API and an agent tool.

0×fewer tokens for an on-call agent to read
0.00root-cause Recall@5 (vs 0.17 random)
0.000BGL anomaly F1 (vs 0.545 baseline)
0.0 MBint8 ONNX model, CPU-only

Root-cause numbers are on synthetic lab incidents. The repo documents where it fails, including zero-shot transfer.

PyTorchTransformersONNX RuntimeFastAPIPython
● fathom.naman.sbs
Fathom: ChatFathom: Measured resultsFathom: Architecture
03RAG · Agents · EvaluationLive

Fathom

Chat with your documents, and see exactly where every answer came from.

Why I built it

Most "chat with your PDF" demos can't tell you where an answer came from, or whether retrieval works at all. Fathom cites the exact passages, streams its reasoning trace, and ships with an eval harness, so quality is measured, not assumed.

  1. Question
  2. Plannersub-queries
  3. Hybrid searchFTS + pgvector · RRF
  4. Rerank + reflect
  5. Cited answerstreamed
How it works

Hybrid retrieval (Postgres full-text + pgvector, fused with RRF) is followed by an LLM reranker. An agent loop splits multi-part questions, searches in parallel, checks whether the evidence is enough, and follows up once if it isn't. Answers stream over SSE with citation chips. It has per-IP rate limits and an injection scan on ingest.

0.00answer accuracy on real docs (IETF RFCs)
0×multi-part full-hit with the agent loop (0.16 → 0.64)
0golden questions in the eval harness
$0.0000average cost per question, live
FastAPIPostgres + pgvectorNext.jsOpenAISSE
04Distributed systemsLive

Foreman

A fault-tolerant distributed job scheduler you can try live.

Why I built it

I wanted to understand what really happens inside a scheduler: leasing work, heartbeats, retries, timeouts, and what to do when a worker dies halfway through a job. So I built one and put it on the public internet.

  1. Submit job
  2. CoordinatorRedis locks · priorities
  3. Workersheartbeat + lease
  4. Docker sandboxtimeouts · retries
  5. ArtifactsS3 · live over WS
How it works

A TypeScript coordinator schedules jobs with Redis locks and tracks workers by heartbeat. Workers run each job in its own Docker container, upload /output to S3-compatible storage, and stream status over WebSocket to a Next.js dashboard. Visitors can run guided jobs without an account; the public API is locked to fixed scenarios.

0Docker workers in the Compose stack
0guided failure scenarios, public
0failure paths covered by the smoke suite
0sign-ups needed to try it
TypeScriptNode.jsPostgreSQLRedisDockerMinIOWebSockets
05Systems · NetworkingLive

C++ Load Balancer

A TCP/HTTP load balancer in C++17, with no external libraries.

Why I built it

To learn networking below the framework layer: raw sockets, thread pools, and the real trade-offs between balancing algorithms. It later became the first real host Nightshift was tested against.

  1. accept()
  2. Thread pool16 workers
  3. Pick backendlc · rr · ih · rh
  4. Proxyselect() loop
  5. Health + statsHEAD /5 s · :8081
How it works

An accept loop hands sockets to a worker pool. Each connection reserves a backend under one mutex using least-connections, round-robin, IP-hash or Rendezvous hashing, then proxies bidirectionally with select(). A health checker probes backends every 5 s, a stats thread serves JSON, and SIGHUP reloads config live.

0Krequests/s sustained (one backend alone: ~40–45K)
+0 µsadded p50 latency over a direct connection
0 msto eject a SIGKILLed backend, 0–1 failed requests
0.00%keys remapped when adding a backend (ideal 25%)

Measured on WSL2 loopback with the load generator on the same machine. It holds 950 concurrent connections and crashes near 1,000 (select() fd limit); the repo documents the epoll fix.

C++17POSIX socketsThreadsHTTPNext.js dashboard

Live stats

Shipping and solving, every week.

These numbers update on their own from GitHub, Codeforces, LeetCode and CodeChef.

GitHub activity

Pulled from github.com/naman777 and refreshed automatically.

0contributions, last year
0day streak
0public repos
OctNovDecJanFebMarAprMayJunJulAugSepOct
Hover a day to see its activityLess More
TypeScript 48%Python 17%JavaScript 17%C++ 7%Verilog 7%C 2%

LeetCode activity

Daily submissions from leetcode.com/u/naman_18byte, refreshed automatically.

0submissions, last year
0active days
0max streak
OctNovDecJanFebMarAprMayJunJulAugSepOct
Hover a day to see its activityLess More
537 problems solvedEasy 178Medium 314Hard 45

Experience

Where I've shipped to real users.

Mar 2025 – Jul 2026
Remote · Delaware, USA

Full Stack Developer · Oracia.ai

E-VNTS
  • Delivered scalable features for an AI real-estate platform, increasing conversions by 25%.
  • Optimized RESTful APIs with Node.js and PostgreSQL, reducing latency by 50%.
  • Implemented AI-driven automation with LangGraph and LangChain, cutting manual processes by 40%.
Next.jsNode.jsPostgreSQLLangGraphLangChain
What I built at Oracia · 6 steps
Oct 2024 – Mar 2025
Remote · New Delhi, India

Full Stack Developer · GoVibe.live

Macaron Ventures
  • Led development of GoVibe, a social platform, ensuring a stable launch for 1,000+ users.
  • Built a microservices backend with Node.js, Kafka, Redis and MySQL for real-time chat.
  • Engineered a recommendation engine that increased session duration by 30%.
Node.jsKafkaRedisMySQLReact
Sep 2023 – Jan 2026
Patiala, India

Technical Executive · ACM TIET

Association for Computing Machinery
  • Led communications for Hacklipse 4.0, a national hackathon with 500+ participants and a ₹2L prize pool.
  • Managed logistics, sponsorships and a 15-member volunteer team; built the event site with Django.
  • Formulated 5 AI/ML problem statements with 95% positive feedback.
PythonDjangoAI/MLLeadership
Top 2.7% nationally

Smart India Hackathon 2024 Finalist

Selected among 1,300 finalist teams out of 49,000+ participants for an AI-based solution.

CGPA 9.14 / 10

Merit-Based Scholarship

Recognized for top academic performance in the branch merit list at Thapar Institute.

500+ participants

Hacklipse 4.0 Lead

Led a national hackathon with a ₹2 Lakh prize pool, a 15-member volunteer team and sponsor outreach.

Contact

Let's build something together.

Open to internships, full-time roles and interesting collaborations. Or poke around the terminal.

naman@portfolio: ~
naman.sh v2 · type `help` to look around
❯