Ishaan Chaturvedi · AI engineer · London

I build organisations of AI agents — and the rules that keep them honest.

Seven years of production ML and LLM engineering. Right now: an org of coding agents that ships a live product, two document-intelligence systems inside regulated finance, and two short films made frame by frame.

Open to Senior AI Engineer and Forward Deployed Engineer roles.

  • 7+years of production AI
  • 178merged PRs, written by agents
  • 11services, live and paid
  • 2AI short films

01The harness

I built an organisation of coding agents. It ships.

me · from my phone Three gates, and only three which idea gets built · design sign-off · the production deploy
product loop · days
  • idea studio
  • ideation analyst
  • designer→ mockups
delivery loop · hours
  • implementer spawns ↳ verifier ∥ breaker, on a thin brief
  • acceptance testerblind to the repo
  • releasestaging → prod
dispatcher the boring hub wakes on a timer · reads the ledger · fixed decision table · spawns at most one thing · exits
ledger · plain files in git ideas · bugs · changelog · queue · briefs one writer per file · one file per fact · indexes compiled, never edited
  1. 01 of 05

    One person, with a day job.

    the only three places a human says yes
    which idea gets built design sign-off the production deploy
    everything else reports. nothing else blocks.

    I run it from my phone. Three decisions are mine and only three: which idea gets built, design sign-off on anything a user will see, and the production deploy. Speed is protected; only the irreversible things are gated.

  2. 02 of 05

    Two loops, seven roles.

    two clocks
    product loop· days ·idea → analysis → design
    delivery loop· hours ·implement → test → release

    The product loop turns an idea into a signed-off design over days. The delivery loop turns a brief into merged code over hours. Neither loop can call the other, and no role inside one can call a role inside the other.

  3. 03 of 05

    Nothing marks its own homework.

    a thin brief
    implementer──▶verifier∥breaker
    a path and a diff range. not the reasoning that produced them.

    The implementer never reviews itself. It spawns a verifier and a breaker on a thin brief, without its own reasoning, so they cannot be reassured by it. The acceptance tester is blind to the repo altogether: it can only use the thing.

  4. 04 of 05

    A boring hub, not a clever watchdog.

    the dispatcher, every tick
    wake → read the ledger → fixed decision table → spawn at most one → exit

    No agent calls another. A dispatcher wakes on a timer, reads state, applies a fixed table, spawns at most one thing, and exits. Intelligence lives in the nodes; the router stays predictable, which is what keeps the whole thing explainable.

  5. 05 of 05

    Everything they know is a file in git.

    the ledger
    ideas/bugs/changelog/queue/briefs/
    one writer per file · one file per fact · indexes compiled, never edited

    Findings travel through files and the queue, never from one agent to another. One writer per file is what lets them run in parallel without colliding, which was the first thing that broke.

    • 178merged PRs
    • 9months
    • 1human, with a day job

The hard part wasn't getting agents to write code. It was the rules that stop them colliding, marking their own homework, or talking their way past a limit.

02Alter

Drop a thought. Alter works out what to do with it.

you drop

“book the tuesday flight before the price moves — and mum's birthday is that same week”

voice · on a walk · 08:14
alter reads it
  • taskTurkey trip · due Tue
  • reminderFamily · birthday

receipt filed under Turkey trip — you've been planning flights all week. undo

the two questions
today · what needs you Book the Tuesday flight promoted: price-sensitive, due this week
life · where everything stands
  • Turkey trip
  • Family
  • Alter
  1. 01 of 04

    A thought, as it comes.

    two things in one breath

    “book the tuesday flight before the price moves, and mum's birthday is that same week”

    voice · on a walk · 08:14

    You say it and keep walking. You don't file it, tag it, or open the right list first. Two things, tangled in one sentence, is how thoughts actually arrive.

  2. 02 of 04

    Alter reads it.

    what it found
    the tuesday flight→taskTurkey trip · due Tue
    mum's birthday→reminderFamily

    It finds a task with a deadline and a reminder in the same sentence, and files each where you have been working. Nothing structural is invented: a new project can only ever be proposed, never created behind your back.

  3. 03 of 04

    A receipt, and one tap to undo.

    being wrong is cheap
    filed under Turkey trip·undo
    a misfile costs one tap. so filing can be automatic.

    Filing happens without asking because a mistake is one tap from undone. Every filing leaves a receipt that says where it went and why, with undo sitting next to it.

  4. 04 of 04

    The only two questions.

    the whole app
    today·what needs you
    life·where everything stands

    What needs you today, and where everything stands. The Tuesday flight is promoted because it is price-sensitive and due this week; the rest waits where it was filed.

    • 11services
    • 289Klines of TypeScript
    • 40%of it is tests

03At work, in regulated finance

Two document-intelligence systems, one verification pattern.

in a document scanned letter · legal file · form
01 presence is the required evidence there? a set comparison code decides
02 extract pixels → typed values, confidence, page reference LLM extracts
03 fetch system of record, read-only, allow-listed SELECT code decides
04 reconcile compare against approved rules; fail closed code decides
05 finding pass · fail · review — every conclusion cited code decides
  1. 01 of 05

    A document arrives.

    in
    scanned letterlegal fileform
    pixels, not data. hundreds a day.

    A customer letter, a legal file, a form. It arrives as pixels, and a regulated decision depends on what it says.

  2. 02 of 05

    Presence: is the evidence there at all?

    a set comparison
    required { a, b, c }⊆present { a, b, c, d }
    no model. a missing document fails before anything is read.

    Before a word is read, code checks that every required piece of evidence exists. A set comparison, nothing cleverer, and nothing that can be talked around.

  3. 03 of 05

    Extract: the model's one job.

    pixels become typed values
    page 17→amount 1,250.00 · date 2026-03-04 · confidence 0.96

    The language model appears exactly once, to turn pixels into typed values, each with a confidence and the page it came from. It reads. It never decides anything.

  4. 04 of 05

    Fetch and reconcile, by code.

    the system of record
    fetch·allow-listed, read-only, parameterised
    reconcile·extracted 1,250.00 vs on record 1,250.00→match
    disagree, or unsure? fail closed.

    The system of record is read through allow-listed, read-only queries. Reconciliation compares what was extracted against approved rules, and fails closed when they disagree.

  5. 05 of 05

    The finding.

    three verdicts
    passreviewfaileach one cites its page

    Pass, fail, or send to a human. Every conclusion cites its page, so a reviewer can check the model's work in seconds rather than re-read the file.

    • 2products running on it
    • 4shared steps
    • 0conclusions a model decides

04Films

Two films, every frame generated, assembled and cut by hand.

  1. 01 of 03

    thisness, 2025.

    the first film
    10 min·every frame generated·improvised, and it buckled

    Two AIs try to solve existence: one by taking the universe apart, one by understanding every memory of it. At the end of every search, they find only more to search.

  2. 02 of 03

    Samudra Manthan, 2026.

    the second, with a discipline
    10endings·31key frames·66clips
    a style bible: faces locked at three ages, eight props, one shade of plastic blue

    Plastic never dies. That is the whole poison. A silent claymation about selling immortality to a thirsty country.

  3. 03 of 03

    What the machine cannot choose.

    where the person is
    prompt → image → clip → cut
    which story, which ending, which frame stays: chosen by hand, every time

    The tools can render now. What the film is about, which of ten endings survives, which frame stays in the cut: that is still a person, and the rules that keep an AI film from drifting into a different film every shot are written by hand.

Now

I'm looking for the next team building agentic systems or generative media.

Senior AI Engineer or Forward Deployed Engineer, in London. If something here resonated, or you'd just like to compare notes, write to me. Short emails are fine.