About

I build the part nobody demos.

I work on AI agents, the infrastructure that runs large language models, and the distributed systems underneath both.

Krish Ghosh

I build the software AI agents run on: the parts that plan their work, call their tools, check their results and serve the models underneath. The interesting problems are rarely in the prompt. They’re in what happens between model calls, like retries, half-finished steps, context that got cut off, and budgets that run out halfway through a task.

I came to this from years of distributed systems work: keeping copies of data in agreement across machines, repairing them when they drift, and chasing the rare bugs that only show up at scale. It’s the most useful thing I brought with me. An AI agent is a scheduler with a slightly unpredictable worker, and it breaks in all the ways schedulers always have.

I write here mostly to make myself finish a thought. I also read a lot of papers and rebuild the interesting ones, usually badly.

  • 1BRows an hour, out of one streaming pipeline, at a 0.0001% failure rate
  • 100MPeople given a credit score from data the bureaus never see
  • 2 AMThe hour things usually decide to break

Where I’ve worked.

Newest first, with the things I actually built sitting under the job that paid for them. Every number here is one I’d defend in a room with the people who were there.

  1. 2026

    Rovers

    Founder

    Voice-to-text is solved. Voice-to-outcome isn’t, because we don’t speak the way we write and the models learned from writing. “Send Maya the Q3 SOW, the one I fixed yesterday” points at three things that were never said out loud, so a perfect transcript is still a system guessing. Rovers is the layer that goes and resolves them instead.

    • Spoken instructions on GDPval

      GDPval grades a model on real deliverables from 44 occupations, blind, against work produced by professionals with fourteen years in the job on average. I ran our agents on it with exophoric voice instructions, the pointed, half-said kind people actually speak, where most of the request lives outside the sentence. Autoresearch tuned the harness until it landed near frontier. The loop turned out to be more interesting than the thing it was tuning, which is how Pensieve started.

  2. 2025 to now

    Google

    Senior Software Engineer

    Billing infrastructure for YouTube, and the infrastructure the agents there run on. Two jobs that look unrelated until you notice they’re the same one: a subscription and an agent run are both long-running state machines that outlive every process that touches them.

  3. 2025

    6sense

    Senior Software Engineer · San Francisco, remote

    A few months on developer tooling for big data work, which mostly means shortening the feedback loop for people whose jobs take twenty minutes to fail.

    • Playground

      A containerised dev box for big data, so an engineer can run and test a Spark job on their own machine or a self-hosted box instead of renting a managed cluster to find out the query was wrong. Worked out at around $2,000 saved per engineer per year.

      Podman · Python · Spark

  4. 2023 to 2024

    Zeta

    Senior Software Engineer · New York, remote

    Streaming infrastructure for a customer data platform, plus the unglamorous machinery that tells customers when it broke.

    • CDPP Streams

      Owned the event and ClickHouse streaming services end to end, carrying about 40% of the platform’s revenue. A billion rows an hour, out of the door, at a failure rate of 0.0001%. Customers included Yahoo, MLB, CNN and Citibank, and I did the talking as well as the building.

      Kafka · ClickHouse · Snowflake · PostgreSQL · Redis · Django · ECS

    • Failure reporting pipeline

      An internal task scheduler for the messages nobody wants. Streaming failures arrive by webhook from log-based brokers, get scheduled asynchronously, and come back out as a report a customer can actually read. Grafana on top of Prometheus took manual intervention down by 90%.

      Celery · Redis · Kafka · Prometheus · Grafana

  5. 2019 to 2023

    Mobilewalla

    Software Engineer · Atlanta, remote

    Four years of data infrastructure at terabyte scale, from feature engineering to geospatial, on work that helped take the company to $12M ARR. This is where I learned what a hundred million rows does to a plan that worked fine on ten thousand.

    • Anovos

      An open-source feature engineering library for terabyte-scale datasets. I built the Python API on top of Spark’s DataFrame API, then added paths through Dask, Ray, Vaex and Polars where they were faster, worth about 40% in processing efficiency. Bindings for EMR, AKS and Databricks, and proofs of concept with AT&T, Accenture and JCDecaux.

      Python · Apache Spark · Dask · Ray · Polars

    • LendBetter

      A credit score for people the credit bureaus have never heard of, computed from alternative data across 100 million mobile advertising IDs. It went from a side project to the company’s main revenue line inside six months.

      Django · Scala · Spark · AWS EMR · DynamoDB · Airflow

    • Johann

      A geospatial and identity graph platform, built around an offline reverse geocoder using Geonames and OpenStreetMap with H3, R-trees and quad-trees. It grew into geofencing, WKT filtering and land parcel data in PostGIS, and then into a Kafka service that estimates where someone lives and where they spend their evenings. Used by Shopee, FanDuel, Dream11 and DBS Bank.

      Java · H3 · PostGIS · Kafka · QGIS

  6. 2016 to 2017

    Reliance Jio

    Software Engineering Intern · Mumbai

    At the GenNext Hub, back when I was fairly sure the hardware was the interesting part.

    • Tangible Internet

      A home automation board built on the ESP8266, which got as far as the semi-finals of the Texas Instruments Innovation Challenge.

      C++ · ESP8266 · Altium

Opinions I’ll happily defend.

  • An AI agent is a distributed system with an unpredictable worker in the middle.

  • Most agent failures aren’t reasoning failures. They’re timeouts, bad retries and context that got cut off without anyone noticing.

  • If you can’t replay what the agent did, you’re not debugging. You’re guessing with extra steps.

  • A test score mostly tells you about the test. Be clear about what you’re actually claiming.