How we're building GolfNext
Engineering, operations, and infrastructure at a small, ambitious team. How we solve problems and scale intelligently.
AI unleashed
In August, AI to me was autocomplete and a chat window, and I wasn't impressed. Now I hand plans to up to thirty agents at a time, on a backend merge that isn't allowed any downtime. The agents only run loose because the plan is tight: how I decide what to hand over, why a couple of hours of planning is the expensive part, and what the review caught when the agents wrote Java in Go.
Feeling like a hot chick
At the end of September a club signed with us almost without being sold to. Its members had used our kiosks at other venues and came home asking "Why not here?" This post is about what that does to you as an engineer: working on the product everyone wants, and why that makes me want to do my best work.
Enter the project manager
Somebody reviewed one of our pull requests properly, line by line, and approved it — while the author was still pushing to the branch. The approval landed on a version that no longer existed. That is a symptom; the disease is that a code review here could be requested four different correct ways and therefore reached nobody. On queues that aren't queues, what coding agents did to our capacity to review, and why the fix begins by deleting one of the places we ask. Enter the project manager.
One day in Ry
Eight weeks of real moments folded into a single day at the office in Ry: an idea said out loud over coffee, a phone call to a club that hadn't noticed its kiosk was down, a dashboard the founder can't walk past, players asking for our devices by name, and the evening I sent 94 kiosks into a restart loop and patched them back one by one.
Our agents drank all the coffee
Our coding agents push, wait for CI, fix and push again, all day. When the test suite grew two and a half times in a week, every CI run sat eighteen minutes at the coffee machine. How we got that to about three minutes for the same money, and what was left waiting once the machines stopped being the excuse.
99% excitement, 1% concern
I spent a Saturday evening watching a movie while an agent rewrote one of our frontends from Vue to React. It was live a couple of days later. The interesting part isn't the AI — it's what a company has to be like for that to be allowed, the one concern management actually raised, and why an environment that says yes this fast demands more discipline, not less.
My brother from another mother?
I started a job where the other half of the technical side had begun the day before me, with a title next to mine and no line drawn between them. A stranger, as new as I was, and the two of us apparently expected to steer the same team. What I was actually worried about, and what a month has and hasn't settled.
Delete the setup guide
Every repository ships instructions nobody keeps up to date, and a .env.example somebody has to fill in from a Slack message. Two tools — mise for the toolchain, fnox for the secrets — take both jobs out of the README and put them in the repo, with a fair account of what that costs and what it doesn't fix.
Road to glory
At a previous job I restructured 250,000 lines of code, and a task that had taken two days started taking three minutes. Nobody got a hundred times better at programming — the restructuring deleted everything that wasn't the work. Then frontend developers started picking up backend tickets. This is the plan to do that again here, and the part of it that gets worse before it gets better.
In the jungle
Part of my onboarding was a task with my name on it: get every codebase running locally. Seventy-one repositories, a decade of technology choices, and two weeks of finding out which of them could still start on a fresh machine — including the one whose local database could not be built at all, and what it took to make one command build it anyway.
Four products, sixty-eight repositories
Two weeks inside GolfNext. What we actually build, what thirteen years of software looks like underneath it, the integrations we started in week two, and an honest look at the goals I set myself before I'd signed anything.
Making Claude Code shut up (and other customizations that earned their keep)
The first thing I did with Claude Code was make it talk less. The small, shareable customizations that survived my own filter — terse output, a statusline, the right hooks — plus the ones I deliberately refuse to automate, and why managing the context window shouldn't be a skill at all.
The Loop Debate Is a Bad Word for Autonomy
Everyone's debating "Claude Code loops." After tracking a month of real tasks — every token, every hour it would have cost by hand — I'm fairly sure most of the argument is about the wrong word. It's not loops, it's autonomy. And like microservices a decade ago, it arrives one verifiable task at a time, gated by a substrate nobody has built yet.
A clean machine
Two years after a colleague's dotfiles scrolled past in my GitHub feed, a new laptop finally forced the issue. How I rebuilt my Mac as a repo with chezmoi, ran my once-a-year tool review as a conversation with Claude, and automated the parts I used to click through.
A letter to myself, before day one
Before my first day at GolfNext — and before I've even signed — what I'm walking into, why I'm leaving a job I liked, the goals I'm setting myself for the first ninety days, and the compass I'm bringing with me.
No posts found.

