Hraness
Theme
Appearance

A love letter to typing code by hand

originally published on substack

A black-and-white car factory line tended by robot arms, with a real-time analysis screen in the foreground.

I remote into my dark factory, a laptop that sits at home in Puerto Rico on my desk. how are my herds doing I type into the terminal. I’m sitting on a plane, traveling to China for a month. 7 herds are producing PRs, but one of them is blocked, so I tell Claude make sure this never happens again. I remind him, im going away for a long time so make sure the herds can shepherd themselves.

For the last month, I’ve been building as many projects as I can in parallel. In just one month, I’ve spent 190B tokens, changed 17.6M lines of code across 7,927 commits, averaged 264 commits per day, and burned 300M tokens an hour.

(my tokenmaxxing setup)

All of this is may seem like a strange new form of productivity porn. It’s not the first time I’ve gone viral for my token spend – I posted last year about a $9k Cursor bill. I was on the company dime then, so API billing didn’t seem unreasonable at the time. But I’m older and wiser now, and I deeply value the incredibly cheap intelligence that frontier labs offer via subsidized AI subscriptions. The deal was especially good with the ChatGPT Pro 20X $200 plan. A deal this good couldn’t last. I saw the end coming, so I stocked up on 17 of the 25X plans, along with 5 Claude and 7 Devin subscriptions. $6k in subscriptions netted me $93k in tokens at API pricing! What an incredible deal.

But the party is ending. They’re turning down the music. OpenAI recently halved usage on the $200 plan (and introduced a $500 25X plan). The world doesn’t have enough compute yet. But someday it will. I can’t wait for that future. I dream of the day when we have a B200-equivalent for every human on earth. Creative outputs will form around our thoughts like beads of dew. Like tai-chi masters or musicians, we’ll shape the digital world around us effortlessly.

2 months ago, I left the startup I cofounded to build solo. After a month of much needed decompression, I started to build again. My only thesis was that I had to fully embrace the coming industrialization of software. I let my agents rip, exploring in many directions. I kept running out of usage. Too impatient to wait, I would sign up for another account immediately. I kept a list of all my accounts in Apple Notes and meticulously rotated through their weekly limits. On the worst days of my token bender, I consumed 8 of my 30 subscriptions in a single day. I was drunk on power.

I built software by hand for most of my career, starting in 2012. I was proud of my craft, in particular my sensitivity toward API design, honed in my 8 years at Stripe. In my career typing code by hand, I got to live inside the same software for years. This really makes you appreciate how software has a kind of life of its own. Software encodes deep intuitions and follows implicit forces. The ability of software to grow swiftly used to be a measure of its fitness (or the fitness of its human maintainers). But software ate the world, and then it ate the engineers. Now, the healthiest software is software that can grow on its own.

Even before LLMs, you could see it coming. Software engineers were getting softer. It was too easy. Unlimited vacation. Free lunch. And most of the time, the code pretty much wrote itself. Software has always had this strange property where it just gets better through exploratory iteration. The bounty of higher level abstractions made this repetitive process feel almost automatic, even before we had agents to do all the work.

I was so proud of my ability to think and act quickly in code, strategizing on design and sequencing, seeing open questions ahead, jotting down mental notes as I typed the current implementation. Coding by hand is a uniquely entrancing flow state. I missed it sorely when I shifted my coding to agents. How could chatting with an agent ever give me the same rush as coding by hand? I kept piling on more agents. But even 5 wasn’t enough to quiet my mind. Then I tried chatting with 30 agents at the same time. All of a sudden, that old feeling was back again. Mind quiet, no longer distracted, jotting notes in my head, strategizing between related threads, context-switching and unwinding mental stacks.

It wasn’t hard for me to accumulate projects. Each one was just a prompt away. I’ve been curious about many things for a long time, and I always wished for more time to fully explore them. The process of trying and validating ideas is an inherently valuable pursuit. This is the scientific process, the price of invention.

It’s always been true that given sufficient skill, humans can convert time into answers. Now, we can rise above time. We can convert compute into answers. The laws of physics have changed. So I decided to just let it rip. I started with shared ideas and infrastructure. I searched tirelessly for footholds, areas where I could plausibly achieve a technical advantage. I had long conversations about Lisp, Prolog, and Erlang. I rewrote and remixed, developed hypotheses and ran experiments.

I’m quite pleased with where I’ve landed. So far I’ve built a memory framework with a unique ontology-driven approach, an agent tool for driving websites fast, an intelligent compaction proxy that reduces token spend by 30%, an AI subscription router/herder, a local personal CRM made for agents, a terminal music workstation, and many more in-progress or abandoned efforts.

It was hard work, but it didn’t feel like any work I had done before. It was the most surreal creative experience of my life. It felt pre-verbal, kind of like making music, but with the intensity of time dilation from working on 30 threads at a time. I watched large continents of code evolve beside me, movements that I loosely directed in a strange flickering way, steering through the fog of cognitive overload.

I learned a lot from doing it all manually. No fancy orchestration setup. No cloud machines. Just 2 laptops, 30 subscriptions, and my bare hands. I wanted to prove to myself that it was possible for one person to use that much inference with no special tools. You see in much finer resolution when your steering manually, and the micro-adjustments are valuable, especially early on in the exploration cycle. But I knew my projects would outgrow these early cycles of micromanagement. So I started exploring tools for herding my agents and subscriptions. I let myself explore wide; a dangerous instinct these days is to bite off more surface area than you should in the beginning (everything is so easy), but strategic “learning spikes” can be really useful. In order to spike quickly, I guide my agents to build the “steel thread” using parallel “tracer bullets”. The right incantations from the SDLC tradition can still work magic; true speed in software engineering comes from strategic insights grounded in a larger architectural vision. Gradually I whittled down the core tool to its simplest form: just the interfaces an agent needs to orchestrate other coding agents.

Before my trip, I sat down for a couple days and scoped out weeks of work. For some projects, I planned out long, detailed roadmaps with verifiable goals. Other projects had obvious benchmarks they could hillclimb against autonomously. After the scoping was done, I used Excalibur (xcb) to spin up the factory.

xcb is a control plane for Codex and Claude Code subscriptions, built for unattended use. There’s no app or TUI. You sign into your accounts once in xcb, then you can ask an agent to create whatever topology you want using xcb’s primitives. xcb routes tasks to accounts based on subscription quotas and health signals (eg. rate limit errors). Agents coordinate using a simple backlog/attention system. You can intelligently scale work up or down based on memory/disk/token pressure.

Using xcb feels like a glimpse into the future. I have an intelligence budget that I scale up or down from month to month. I assign my pool of intelligence to a set of projects, and I let it cook for weeks unattended.

But I’m still itching for that rush, that unique flow state of typing code by hand, or managing 30 agents at a time. Maybe I’m just coping with this transition to a new phase of life as a retired workaholic. Itching for feats of productivity like a phantom limb. I brought one of my laptops to China, and I already have two terminal panes open on the plane. I wish I had a bigger screen.