Keyboard shortcuts

Anywhere on the site, while you are not typing.

M
Weather sound on or off
E
Copy my email
T
Day or night
S
Change the season
D
Portfolio
?
These shortcuts
Esc
Close what is open

Today

Ideas

  • fireflies on /about
  • a radio that plays live
  • the rod, by phone

I’m Rajveer Singh, and I build AI products end to end.

I’m a software engineer in New Delhi. What I’ve shipped is on the projects page; this one is the rest: how I got here, how I work, and what I do when I’m not working.

I do my best work on small teams building AI products, where an engineer carries a feature from the first screen to the server it runs on, then watches it run. So I work as a full-stack and product engineer, and I design the interfaces I build, in Figma first and then in code. I also like working fast: in one week, our team took an AI engine from a plan to the finals of ⁠Cognizant’s Technoverse 2.0, one of 24 teams of 5,600+.

  • The lake on this site from above: an island of trees and a hut in green water, with lily pads.
    a lake you can fish in
  • A yellow spec plate for 10xanswers on npm.
    an AI chat on npm
  • An orange shoebox label for IABTM: voice rooms, payments, AI pipelines, infra.
    voice rooms at iabtm
  • A worn oval sticker: warning, do not unplug.
    do not unplug
  • A red label: 7× hackathon winner or finalist, first at HackWIE 3.0 and Code Kshetra 2.0.
    first place, twice
  • A round price sticker: top 24 of 5,600+ teams, finalist at Cognizant Technoverse 2.0.
    finalist, top 24, in one week
  • A sticker of a black chess knight.
    chess
  • A library card for Designing Data-Intensive Applications, on loan to Rajveer.
    the book on my desk
  • A blue plaque: Sherlock Holmes, consulting detective, 221B Baker Street.
    sherlock holmes

Story

How I got here

I started in August 2024 with Harkirat Singh’s 100xDevs Cohort 3.0 and shipped my first project two weeks later. That December 10xanswers went on npm, and strangers started installing it: 13,000+ downloads since. In 2025 Safire took first place at HackWIE 3.0 and Code Kshetra 2.0, its moderation behind a load balancer I wrote in the eight days between the two.

Then Modulus, whose product I built from its first screen; Wii Hop, a US deals app, most of its web app and its data model; and a two-day take-home, Kernel, that became my job at ⁠IABTM, where I now run the platform end to end for 3,000+ members. In 2026 the same team took HyperPersona to the finals of ⁠Cognizant’s Technoverse 2.0.

Before all that, I was learning. I wrote Python on a phone through lockdown because I didn’t have a laptop. The one thing from then that mattered was a bill calculator for my father, who logged our electricity meter in a paper diary. Out of curiosity I gave it a window with Tkinter, Python’s GUI library, so he could log each reading himself. It ran on 22 months of his readings, and it was the first time something I wrote did a real job for someone.

I like the two ends of the stack most: the interface, where every detail is a decision, and the infrastructure, where things either stay up or they don’t. AI goes in the middle, treated like any dependency that can fail.

Timeline

The road so far

How I work

Every change, start to finish

  1. 01

    Read before I change anything

    A codebase first gets read and written down: what talks to what, where the state lives, what is already broken. Then the plan.

    173 issues found in a six-round audit of IABTM’s realtime layer, 41 critical: a room anyone could join, a 100 MB buffer that could take the server down, tokens printed to logs. The critical ones shipped fixed, tagged as a baseline to roll back to. The audit

  2. 02

    Design for what breaks

    Before the happy path: the retried request, the duplicate webhook, two servers running the same job, the dependency that goes down mid-call.

    Once Stripe events counted once by an insert-first ledger, seven cron jobs that take a lease before they run, socket rooms fanned out over Redis pub/sub that fall back to memory if Redis drops, rate limits kept in Redis so they hold across processes, and money that moves only inside a database transaction. The ledger and the leases

  3. 03

    Build on contracts

    Typed schemas at every boundary, lint rules and hooks that refuse the wrong thing. Coding agents work in parallel branches against those contracts; I make the design calls and read every diff before it lands.

    Every diff read before it lands, mine or an agent’s: strict TypeScript, a schema on every tool an agent can call, and CI that has to pass first.

  4. 04

    Test every layer

    Unit tests for logic, a real browser for flows, evals for anything with a model in it, and a load test before I trust a number about speed.

    800+ unit tests on every push here, and 84 more in a real browser against the production build, every route checked for errors, structured data and its security headers. Evals that fail the build under 90%. At IABTM, billing is tested against Stripe itself, with real signatures. The tests and evals

  5. 05

    Let CI say no

    Every repo I run has a pipeline that can refuse a change, so the checks never depend on someone remembering them.

    2 pipelines IABTM’s, CI on every pull request and a deploy that health-checks itself and rolls back; this site’s, format, lint, types, 800+ unit tests, 84 browser tests and a production build on every push, IndexNow on each deploy and a daily check that opens its own GitHub issue when a key fails. The deploy, written up

  6. 06

    Ship with a way back

    Every branch gets a preview to try. Every release can be undone in one step, and knows to undo itself.

    90 s for a release to prove it’s healthy, or code, dependencies and process roll back on their own. Release tags with a written rollback, a kill switch on every scheduled job, migrations that start as dry runs. The rollback, in IABTM’s write-up

  7. 07

    Measure, then claim

    No number on this site that nothing measured. Change one thing, measure again, keep it only if it paid.

    460 ms for the home page to paint, lake and all, down from 1,656 on a production build; and the AI me’s retrieval measured on 35 questions before it shipped, with the vector half switched off because it didn’t pay. How the lake stays cheap

  8. 08

    Watch it run

    Shipping is the middle. Nothing should break quietly, and when something does, the fix covers every case like it, not only the one that was reported.

    100% uptime on IABTM since July, with real-user speed measured in the field, billing tracked on the server where ad blockers can’t undercount it, and an alert on every failure along a path that matters.

  9. 09

    Finish it, with taste

    The last part nobody asks for and everyone notices: the detail that makes it feel made, not assembled. It works by keyboard and screen reader, it’s found by search and by AI, and it holds on a 320 px phone.

    4.5:1 contrast on every word you read here, WCAG 2.2 targets and focus, a strict content security policy on every route, 100 on Lighthouse SEO, and a markdown copy of every page for AI crawlers. Read this page as an AI does

Off-screen

When I’m not coding

  • Chess

    Chess, when I’m away from the screen. Same habit as debugging: read the whole board before you move.

  • Matiks

    Timed mental-maths duels on Matiks, against strangers. No calculator, and no hiding.

  • Investing

    I invest a little. Compounding is the whole idea, in code and out of it.

  • Sherlock Holmes

    The books, the films and the series. For the method, not the mystery: notice what everyone skips, and stay calm on the clock.

Chess and Matiks scratch the same itch as a hackathon: putting myself on a clock, on purpose, to find out where the edge is.

Contact

Say hello

Rajveer Singh

Software engineer, New Delhi

Open to conversations.