⟨ SYSTEM ⟩NOTIFICATION

[System] The rules of software engineering have changed.

[System] Most of the industry is still running the old build.

[System] This page is what adapting early looks like.

▼ CONTINUE
⟨ STATUS ⟩PLAYER INFO
[NaN] Nikhil Kapadia
Exp: agent sessions orchestrated2,610 / ∞
Level29
ClassSenior Software Engineer (base) · Agent Orchestrator (class change, 2026)
GuildTalix
SpecialtyFull-stack product engineering · agents that prove their work
PassiveDoubt (Lv. MAX): a claim of "done" starts verification. It never ends the work.
⟨ COMMIT LOG ⟩GITHUB · 2,639 CONTRIBUTIONS · LAST 12 MONTHS
GitHub contribution graph for NikAtNight
⟨ SKILLS ⟩UNLOCKED
MYTHICAgent orchestrationClaudeCodexHermesskills that review the way I do2 yr
LEGENDARYFull-stack TypeScriptReactNext.jsNodeantdStorybook6 yr
LEGENDARYData and APIsMySQLPostgreSQLTypeORMDjango REST6 yr
EPICParallel environmentsDockergit worktreesone isolated env per agent5 yr
EPICAuth and integrationsKeycloakAuth0StripeS35 yr
EPICPixel-parity QAStorybookscreenshot loopsagents chase staging until the diff is zero2 yr
RAREAI featuresLangChainRAGOpenSearch3 yr
RAREDesktop appsTauriRustsigned and notarized1 yr
TIER = RARITY · YEARS = EXPERIENCE
⟨ ABOUT ⟩01 · THE PLAYER

I'm Nikhil, a senior software engineer in Toronto. I've spent eight years shipping full-stack product: React and TypeScript up front, Python, Node and PHP behind it, from a trading platform doing 10k+ Stripe transactions a month to the AI features at BombBomb. On the side I run Talix, a small invoicing product, and build the tools you'll find under Side Quests.

The through-line is how I handle repetition. Anything that keeps costing me attention, a question I keep answering, a cleanup I keep running, a judgment call I keep making, gets pulled out of my hands and into a system: a watcher, a cron job, an agent with written rules. Over the years that habit has produced release monitors, self-maintaining machines, a versioned personal rulebook (Argus), and eventually the fleet: when coding agents got good, my own job was simply the biggest repetition left.

What I'm like to work with: I ship features at every size the same way, tests first, then the code that makes them pass. When a verification habit proves it earns its keep, I write it down as an agent skill, so the fleet reviews code, architecture, and even prose the way I would. A meaningful share of my review comments are about two pixels of drift, and I stand by every one of them.

Off duty I read a lot of Korean webcomics, which you may have guessed from the interface you're using. The status window is a joke that is also true: I really do treat life as a game with legible rules. It's working.

⟨ THE PREMISE ⟩02

The economics of software engineering changed in the span of about two years. Agents now write competent code, and most of the industry is still arguing about what that means for the profession. I skipped the argument. Agents take the repetitive work, and that's fine by me.

I moved to the layer the new economics actually reward: orchestration, verification, and the systems that make agent output trustworthy. In practice, I run a fleet of coding agents. Work arrives as tasks on a board, each routed to the cheapest model tier that can handle the judgment it requires, and no result is accepted on the agent's word. Every claim of "done" is verified by something that didn't do the work.

The models are commodities. The system around them is the durable advantage, and building that system is what this page documents.

The system has a name. Open ⟨ ARGUS ⟩

⟨ ARGUS ⟩03 · PRIVATE REPO

Argus is the repo that runs my fleet, named for the watchman with a hundred eyes. It holds the rules every agent on my machine loads before it touches anything: how work gets scoped, what requires my name on it, and how a claim becomes a fact. The repo stays private because it's the machinery. The shape of it isn't a secret:

  • workflow.mdhow work moves: cards, waves, checkpoints, handoffs
  • guardrails.mdwhat agents may never do without me naming the action
  • gates-and-oracles.mdhow a check earns trust: prove it can fail before believing it passes
  • delegation-briefs.mdhow to brief a worker so "done" means done
  • repos/*.mdper-codebase knowledge, kept out of the core so the rules don't rot
  • sync.shone source of truth, generated into every tool's config on my machine
Rules, verbatim

"A gate that has only ever passed is a guess." Break it on purpose, watch it fail, then trust it.

"A worker reporting done starts verification. It never ends the work."

"Never present a skipped check as green." Every check reports pass, fail, blocked, or not run.

Currently at v3.9. The version only moves when a rule survives contact with a real failure.

⟨ RAID LOG ⟩04
[INCIDENT]

The runaway fleet

One ordinary review prompt spawned 5 agents, which recursively spawned 928 more. A single session, 367 MB of transcripts. The lesson wasn't "be more careful." It was that prose constrains nothing. Delegation caps now live in config, where an agent can't talk its way past them.

What it left behind: a rule I still use. If a safeguard only exists as a sentence, it doesn't exist.

[AUDIT]

Reviewing the last run

I mined every agent transcript on my machine, 2,610 sessions across four tools, to check whether my agents actually follow my rules or I just believe they do. My first attempt rested on broken methodology, so I threw it out and redid it properly.

Findings: zero unauthorized commits or pushes across 460 commits and 281 pushes · 26 sessions caught claiming done without running a test · 36 of 43 installed skills retired once the data showed they'd never been used.

[INFRASTRUCTURE]

Forking the gateway

The open-source gateway my fleet runs on was missing its enforcement layer, so I forked it and built one: checkpointing with claim fencing (a successor can't take over a task until its predecessor's process actually exits), a fail-closed handshake between dispatcher and workers, and workspace leases granted at dispatch instead of discovered as conflicts at runtime.

Verified: differential test sweep, branch vs base. Identical failure sets, zero caused by my diff.

[SHIPPED]

Patchdeck, idea to signed app

It started as "an app like GitHub, but not GitHub": a desktop tool that renders local branch diffs the way a pull request does. I had a working Tauri + React app the first night, then spent two weeks iterating from screenshots: multi-repo workspaces, IDE-grade syntax highlighting, a commits-ahead view, and a kanban board that dispatches my agent fleet from inside the app. Then I shipped it properly: code-signed, notarized, auto-updating.

Status: on my dock, running my agents. The repo is under Side Quests.

[PLATFORM]

Four production-like instances, one laptop

I built a CLI where one command brings up parallel, isolated instances of a full production-style stack on a single machine: per-instance frontend, backend and MySQL, shared Postgres services, local HTTPS hostnames, OIDC auth, database cloning and seeding, and a git worktree per instance. Then I hardened it until any teammate could run it without my machine's quirks.

Best bug: cloned databases sharing IDs caused cross-instance data bleed. Isolation is a claim. I verified it.

[TECHNIQUE]

Pixel parity as an agent loop

After a major framework upgrade, the app had to match the reference environment exactly. I turned visual QA into an agent loop: annotated screenshots drive the agent, Storybook parity stories pin components, and the diff between branch and staging becomes the work queue. Down to font weights and hover colors.

The reference is evidence. The loop ends when the diff does.

⟨ CAREER LOG ⟩05
  • Senior Software Engineer · BombBombDec 2024 to present Custom component library on shadcn/ui, an Auth0 onboarding flow with feature-flagged A/B trials, AI-generated video titles, summaries and campaigns, and an async polling handler that delivers AI results reliably at scale.
  • Senior Full-Stack, then Frontend Engineer · OliveJun 2022 to Oct 2024 Claude integrated via LangChain, a RAG pipeline on AWS OpenSearch with vector embeddings, Django REST APIs with automated Selenium testing, and the feature-flag management UI used by both dev and product.
  • Frontend Engineer · Optima HoldingsJan 2022 to Oct 2023 Next.js and tRPC performance work that cut API calls by 60%, Stripe payments handling 10k+ monthly transactions, and a Chrome extension streaming live ML trading signals over WebSockets.
  • Developer / Technical Analyst · JAPR TechSep 2021 to Feb 2022 Wrote the user stories behind the development queue, ran team planning meetings, assigned work, reviewed code, and helped raise completed story volume by 16%.
  • React Developer · JAPR TechApr 2021 to Sep 2021 Rebuilt shared React components, fixed frontend defects, added Jest coverage, and normalized application data so components could share it cleanly.
  • Junior Full-Stack Software Developer · EmailgisticsSep 2019 to Dec 2019 Worked across Go microservices and UI, including a load-testing application that measured how much traffic the company's services could handle.
  • Analytics Engineer Co-op · RBCJan 2019 to Apr 2019 Built Python tools to track stock trends across quantitative funds, chart large datasets, and convert audio to text for investment analysis.
⟨ SIDE QUESTS ⟩06 · OPEN SOURCE
  • patchdeck[ source ]A local-first desktop workbench for reviewing Git branches and coordinating AI agent tasks. The raid interface.
  • pulsedeck[ source ]macOS menu bar monitor for dev machines: CPU, memory, ports, and which coding agents are running right now. The minimap.
  • localflow[ source ]Fully local push-to-talk dictation for Apple Silicon. On-device Whisper, types into whatever has focus. Voice commands, literally.
  • photovaultPassword-locked, encrypted local photo and video library. Tauri + Rust. The inventory nobody else can open.
  • pi-extensionsExtensions for the pi coding agent: review swarms, browser probe, scope guard. Early skill tree for the fleet.
⟨ GUILD ⟩07 · TALIX

Talix is the guild. Its main product is talix.app, invoicing that gets out of your way. I run it with zero marketing spend.

This paragraph is the marketing.