Infinite Haiku

Observability that stays in your network.

Metrics, logs and traces on one timeline, stored in your own cluster and read by your browser directly. Your telemetry never passes through our servers.

OpenTelemetry in · Kubernetes · read-only MCP for your agents
Our own Poet, live

drag to zoom · double-click back

Reading our own Poet…

Your data stays home.

The datastore runs in your Kubernetes cluster or on your Linux machines. We sign you in and introduce your browser to it; the data goes straight to you over an encrypted channel. No egress bill to ship telemetry out, and nothing at our end to leak.

Walk into the timeline.

Every series of a service at once, drawn on your GPU. Zoom in and the detail follows; open a request and see its log lines and the change behind it. Missing data is shown as missing, never as zero.

Your agents investigate.

A read-only door (MCP) lets the coding agent you already use search, follow a request and read the same numbers as your charts. No vendor AI, no per-investigation fee.

How it works

  1. 1A Poet in your cluster. Our datastore runs where your services run and takes their OpenTelemetry. Read-only, one namespace.
  2. 2You sign in at infinitehaiku.com. Our web service checks who you are and introduces your browser to your Poet. That is all it sees.
  3. 3Your browser talks to your Poet directly. An encrypted peer-to-peer channel (WebRTC). The numbers never pass through our servers.
Your browser signs in at infinitehaiku.com, which introduces it to the Poet in your network; the data then goes directly between the Poet and your browser. Your network Your services OpenTelemetry Poet your datastore Your browser dashboards, AGS infinitehaiku.com sign-in, introduction your telemetry, encrypted, direct never through our servers
Infinite Haiku in one minute · plays from YouTube (youtube-nocookie.com)

Proof, not promises

Measured: 500,000 tasks from 200 workers over five hours, drawn at 1.1 ms of CPU per frame.

This site's own requests, live: the same public view you can give your customers.

This site's own requests, live · open it full size

Who is behind it

An independent team. You talk to the people who build it.

No sales layer between your questions and the answers.

Built since April 2024. Bootstrapped: no venture capital, no board, no hyperscaler lock-in. About us

  • Alerts in your network. Evaluated inside your own Poets.
  • Public status pages. Share a live dashboard without sharing access.
  • Kernel faults on the timeline. Memory errors, silent out-of-memory kills and disk errors, per node.
  • Flat CHF 5 per user account and month. Nothing per gigabyte, host or event.
  • Don't trust us: watch it yourself. Your Poet shows every connection and its bytes, peer to peer or to us. See how

Join the free pilot.

Expert help on your systems. Leave anytime: delete the Poet, one command. Once we open to the public: two months free, then a flat CHF 5 per user account and month. How the pilot works · Security

Write to us
← Blog

Two and a half years of AGS, and the three days we rebuilt its engine

ags performance agents

AGS is the part of Infinite Haiku you look at: hundreds of workers over hours, every task an interval, every roll-up honest about being a roll-up, drawn on your GPU. We have been designing and building it by hand since April 2024. In the last week of September 2026 we rebuilt its engine for scale in three days, with AI agents doing the typing against a plan and acceptance tests we wrote. The three days were the short part. This post is about the two and a half years that made them possible, and what “done” meant.

The two and a half years

AGS, short for Area Graph on Steroids, drew its first shape on 21 April 2024: one flat colour, badly centred, and already the idea that makes IH different. Measurements over time become a shape you can fly through, not another line chart.

The first AGS zoom experiment, April 2024

This was hand work, long before coding agents joined us, and most of the hard decisions were made that spring:

  • Time that does not wobble. GPUs cannot do exact arithmetic on 64-bit timestamps. AGS keeps exact time on the CPU and sends camera-relative values to the GPU, so shapes stay crisp at any zoom.
  • The browser as a first-class screen. WebGL 2 could not do what the design needed, so AGS went to WebGPU and Rust compiled to WebAssembly, in May 2024, long before that was a safe bet.
  • Ask the GPU what is under the mouse. Selection is read back from the GPU, so finding what is under the mouse does not get slower as the picture gets denser.

What the next six weeks looked like, one problem at a time:

April 2024: panning through generated data, with the engine’s own log underneath

April 2024. Panning through time, fetching more data near the edge of what is loaded. The log under the picture is the data manager at work.

Spring 2024: labels drawn on the GPU follow the shapes

Labels drawn on the GPU, placed where the shapes are.

Spring 2024: the element under the mouse, read back from the GPU

Selection read back from the GPU: as fast in a dense picture as in an empty one.

Spring 2024: metadata filters and relationship highlights

Metadata filters and relationships between elements, chosen from the first options menu.

None of this is pretty, and it was not meant to be. Each step settled one architectural question (exact time, data paging, GPU picking, the line between fetching and drawing) so that the next step could rely on it.

Then came the rest of the product around it: Kabuki, the web app, in June 2024; Poet, the datastore that lives in your infrastructure, from July; and on 7 February 2025, real Kubernetes metrics travelling from a cluster straight into AGS in the browser. That story is in our origin posts, starting with Teaching metrics to take shape.

The problem worth three days

By September 2026 the design was right and the drawing was not fast enough. For a quick prototype, part of the picture had been moved onto a general-purpose UI library that draws on the CPU. At the scale our customers care about, hundreds of workers over hours, it fell over.

We wrote down four rules for the rebuild, all of them older than the rebuild itself:

  • Poet computes, AGS draws. Your Poet does the aggregation, the levels of detail and the layout, close to the data. The browser receives compact data and lets the GPU draw it. The UI library keeps only menus, legends and tooltips.
  • Binary, all the way. A compact binary format on the wire. No JSON on the render path.
  • Only what you can see. Poet sends the detail the current zoom needs and more only as you zoom in. Less memory in your browser, less CPU on your Poet, less egress on your network bill.
  • Honest reduction. A bucket that was downsampled says so.

Why agents could go fast here

We are a small team, and we do not want venture capital to buy a big one. AI coding agents give us the hands. They do not give us the design: an agent rebuilding AGS without the last two and a half years would have built a fast version of the wrong thing.

We wrote the plan and a “done when” line for each of about sixty pieces of work. Nothing counted as done because an agent said so. It counted when it passed two acceptance tests that the agents did not write and could not bend:

  • A scale test. 200 workers, five hours, 500,000 tasks, on two Poets, one of them killed and restarted during the run.
  • A browser test. Real WebGPU pixels, in a real browser, over the real network path, against 28 written criteria.

Both were checked against a data generator that shares no code with Poet, so the product could not grade its own homework.

What “done” measured

CheckResult
Scale test, CPU per frame, p95 / p990.67 / 1.12 ms
Scale test, task occupancy against the independent generator1,090,560 buckets, 0 mismatches
Browser, work per frame p95 (WebGPU, Chrome, Apple Metal)1.7 ms
Browser, frame interval p95 on a 120 Hz screen9.1 ms
Browser, input to screen p9531 ms
Browser, cold five-hour overview over HTTP0.71 s
Browser, cold five-hour overview over the direct WebRTC channel1.67 s, target 1 s

The scale test passed all 20 of its criteria. The browser test passed 26 of 28, and we shipped v1 with the gap written down: the first overview over the direct peer-to-peer channel is still slower than our one-second target, because a cache that should keep it warm keeps the wrong entries. It is next on the list. We would rather tell you than draw you a nicer graph.

What the agents needed from us

Agents are fast and literal. The rules that made them useful are the same ones a good engineering lead gives people:

  • Measure before you fix. Hold a small failing reproduction or a measured hypothesis before changing anything.
  • Test the criteria, not only the code. A criterion that contradicts the product’s rules wastes a full run.
  • Small first. A problem is reproduced on a small dataset in seconds; the full-size run is for the final check.
  • Adversarial checks where silent errors hide: data, caches, replication and authorization.

The part no test could catch

The morning after v1, we opened AGS on a laptop and found that it had lost something. In the earlier renderer, the mouse wheel flew into the hierarchy: inner layers showed through the outer ones, faint from far away and sharper as you approached, like terrain seen from a plane. The rebuild was faster and correct, and it had quietly dropped that feeling, because no criterion asked for it.

Two short pieces of work brought it back, on the GPU this time: the wheel enters the band under the pointer, children fade in as you approach, and going back up is one key away.

That is the real lesson of the week. Tests measure what somebody wrote down. The feel of a tool comes from people who have lived with it since the first ugly frame. Agents gave us speed; the two and a half years gave us something worth building fast.

October 2026: the same ideas today, a selected band on a live dashboard

The same engine today: select a band and the others step back, its details open under the chart.

Infinite Haiku is built by a small, bootstrapped team with no investors to please: the first 1 billion nano-dollar company. (That is one dollar. We checked.)

Follow the build on this blog, or tell us about the workload you want to see and ask for a pilot.