21STARK
All posts
6 min read views

612 sessions, 60 days, then I deleted the meter

Everyone has a loud opinion on whether AI coding tools pay off. Almost nobody has data. So I built a one-binary meter, ran it on myself for 60 days, collected two ugly receipts, and deleted the whole thing in an afternoon. The Disposable Meter, and why the teardown is the point.

612 sessions. 60 days. Then I deleted the meter.

Everyone around me argues whether AI coding tools pay off. Is Claude Code, Codex, or Gemini actually making us faster? Or does it just feel that way?

Strong opinions on every side. Data on none.

Everyone is very confident. Nobody is measuring anything. I have no patience for arguing from vibes, so I built a meter and pointed it at myself.

I measured for 60 days, read the answers, and tore the rig down in an afternoon. The teardown is the part everyone will skip. It is also the point.

One binary, no roadmap

The meter was called stark-insights. One Go binary. That was the whole product.

The capture path was dumb on purpose. Every Claude Code, Codex, and Gemini hook fired one event into a local SQLite buffer. A launchd timer drained the buffer to BigQuery every 15 minutes.

Hooks, buffer, drain. Done.

Each piece earned its seat. The tools already emitted every event I cared about, so the hooks required no manual instrumentation and forgot nothing on a busy day. The local buffer kept the write path from blocking a session or dropping an event when the network sulked. The 15-minute drain was enough because telemetry about my own habits did not need to be real time.

No platform. No roadmap. No Slack channel named after it.

What it cost to run: almost nothing. A rounding error of BigQuery storage, plus a hard $2.50 cap per query so a fat-fingered SELECT * stayed a $2.50 mistake.

The expensive part of AI was never the telemetry.

The expensive part is the tokens

Two receipts from those 60 days. Both embarrassing.

Exhibit A is a confession. An auth error showed up. Every instinct screamed OAuth, so that was what I debugged. All day, across multiple repos.

Every repo got its own investigation. Every investigation burned its own tokens. Total damage: ~$500 in one day.

It was a one-line load-balancer cert setting the entire time. The error code's own documentation said exactly that. I never read it.

Five hundred dollars of compute, spent instead of reading the docs.

Exhibit B is dumber. One agent job was left running on a laptop, 40 of 200 URLs done, quietly burning ~$150 an hour. I moved it to a VM.

Both exhibits share the same problem: you feel none of it in the moment.

Cloud spend has budgets, alerts, and a FinOps person frowning at a dashboard somewhere. Tokens have none of that by default. There is no meter on the wall. The meter only exists if you build it.

Comic-style illustration of an engineer with headphones typing at a desk while a wall faucet behind them pours gold coins into an open floor drain.

The number survived. Its meaning did not.

Over 60 days the meter logged 612 sessions across 15 projects running in parallel. A few things jumped out. Not all of them were flattering.

My median session went from 21 minutes to five hours.

The metric was lying in an interesting way. A session used to measure my attention: how long I sat and typed. Now it measured the agent's endurance: how long it ran before it needed me.

Same column in the database. Different physical quantity.

Deep flow, or I let the agent run while I made coffee? Honest answer: yes.

Any metric carried over from the pre-agent era needs to be re-interviewed. The number survived. Its meaning didn't.

The review pipeline threw 3,087 findings in two weeks. Claude 1,719. Codex 1,306. Gemini 62 total.

On small PRs Gemini ran 86% noise: it found the least and complained the most. That one number did more for my roster decisions than any benchmark post.

The fleet itself, rosters and bench included, is its own story. Here it matters as a line on the meter: even reviewers have a cost-to-signal ratio, and you do not know it until you count.

The vibes were mostly right, and that was the trap.

The workflows I was sure were paying off mostly were. A couple I defended out of habit were not. Those got cut. Cutting them cost nothing except admitting the defense was habit.

That is the finding vibes can never produce. Vibes never concede. The numbers made me.

Every few days I sat with the numbers and ran a small retrospective on myself. Not a dashboard to admire. A question to answer, then close.

The loop was simple: build once, measure, retro, ask what changed. Question not answered yet? Keep measuring. Answered? Stop. Rip it out.

The part everyone skips

When the meter had answered the questions, I killed it.

Hooks out. Jobs deleted. Infra torn down. Data archived. Nothing left running. One afternoon.

The teardown was in the design from day one. Call the pattern the Disposable Meter: a measurement rig built cheap, pointed at one question, and deleted the day the question is answered.

A playground earns its keep by answering one question. After that, it's just a pet you have to feed.

Risograph-style illustration of a sad pet creature shaped like a gauge sitting by an empty food bowl while a hand packs a cable and screwdriver into a cardboard box.

Keeping it would have meant hooks that drift on every tool update, schema maintenance forever, and a dashboard that invites a glance instead of a decision.

The moment a side thing has upkeep, it starts negotiating for its life: surely add per-model breakdowns, surely this deserves an alert. That is a product growing where a question used to be.

The kill test is one sentence: name the open question this meter is answering.

Can't name it? It is already dead. You are just still feeding it.

The repo-scale version of the same discipline is its own post: kill fast, bury well, write the row.

What this is not

Not a pitch to build an observability platform for your AI usage. Please don't.

Give it a logo and it is a product. Products need owners. The entire value of this thing was that it cost an afternoon to build and an afternoon to delete.

And not a license to wire hooks into your team.

I measured myself, on my own machine, by choice. Pointing the same thing at other people starts with their consent, not your curiosity.

The org version of this question is a different animal entirely: cost per team, attribution, and what happens the day a fuzzy number is used to rate a person. That gets its own post.

This one stays on the only scope you can measure without asking permission: yourself.

Earn the opinion

Build the cheap meter. Point it at one question. If the question is still open, keep measuring. When the answer arrives, stop.

Gut is a fine compass and a useless meter. Tokens do not care how confident you are. Have the opinion. You will have earned it.

I measured myself. Then I deleted the meter. No farewell post.

Get in touch

I write about AI-first engineering on LinkedIn. Specs in, production out, nobody types code. Follow along there, or send a note.

hi@21stark.com · LinkedIn opens my profile, message me from there


Or send it from here

Providing your name, email address, and message is voluntary; without them you cannot use this form. Aryeh Kiovetsky, operating as 21Stark, controls this information. We use it to receive and answer your message, and provide it to Google Cloud for hosting and storage.