← home page

Vibe Coded Systems

Part I

There’s a massive experiment going on right now: the time cost of creating software has decreased by a lot. I suspect this will impact the developer tools market. I know several big, successful teams building their GitHub replacement. In fact, my current company has been using our own GitHub replacement for over 6 months and with great success! It’s not slop either. I have carefully designed the schema, data flows, process boundaries, and UIs while the AI has cranked out the html, js, css, and rust server code. It’s fast, reliable, and gets the job done. With thoughtful prompts we are able to grow the project in concert with our company for very little time invested.

One interesting technical difference is that our GitHub replacement has CI built in. We have a very simple, horizontally scalable set of servers that run our tests. The servers aggressively cache builds so that time-to-first-test is < 50ms. Running the tests is no slower than running tests on a dev’s personal machine – in fact, they are much faster because we have dedicated servers that have SSDs, tons of RAM, and AMD EPYC CPUs. It’s strictly better.

In other words, we don’t have to care about typical SaaS or multi-tenant problems. This is accidental complexity. We only care about the essential complexity of hosting our repo and running our tests. It’s a much simpler problem to solve.

As other projects and teams come up with neat ideas for how to view diffs, how to optimize storage, or how to think about testing software in the abstract, we can incorporate these ideas directly into our codebase.

It’s possible that someone could come up with a list of reasons why this will not work, or why it won’t scale, or why it will end up as an unmaintainable pile of slop, but so far that just hasn’t been the case. Someone who doesn’t care about quality software can write terrible code by hand and similarly someone who cares a great deal about software quality can prompt agents to build great and wonderful systems at shocking speed.

Perhaps the era of average, multi-tenant software is ending and the era of bespoke software will begin.

Time will tell if we are truly in the Golden Age of Software.

Part II

Here are some technical details of the systems that we have built. Before you tell me about NIH, don’t worry, I know all about it. I may even have a mild case. But I love software and I want to use software that sparks joy. I want systems that never fail, are always fast, and do things that make sense. I feel none of these feelings when I configure GitHub Actions or administer Kubernetes and Docker.

Git Server

EZ branch list

EZ branch review and code diff

Job Scheduler

The basic idea is that we have a repo, we have machines, and we want to run programs or scripts from our repo on our machines.

JB worker dashboard

JB job details and run history

Conclusion

Ideally, every platform would have perfect performance and reliability, and even if this idealized world existed, there would still be demand for tailoring tools to uniquely enhance your team. With AI, the cost model for tailoring has changed and the world will soon adapt.