With the rapid devopemnt of LLMs (Large Language Models) and especially their usefulness for developing software, we feel it’s important to clarify how we make use of them.

Firstly, we unapologetically do use AI for coding assistance. It’s basically impossible, at this point, to not take advantage of this massive productivity boost we can realize using AI. These models are the next evolution of the search engine. They excel at summarizing concepts and generating code. We can now do in a day what used to take weeks, using AI.

What we don’t do, however, is blindly use their output in an application and ship it, aka “vibe coding” slop. We don’t feel they’re at that level of sophistication yet (but they probably will be soon).

Every line of code we use that is AI generated (or copied from anywhere for that matter) is carefully checked by a human so we know exactly what it’s doing. It’s too easy to introduce insidious bugs or otherwise cause damage by blindly running AI generated code.

If vibe-coding is your thing, that’s fine. For our purposes we need to maintain more control and awareness than that so we can take responsibility for code with our name on it.

At some point, AIs will probably become so smart that they can reliably knock out full applications with just prompts and no human review, so we’ll be able to remove human developers from the equation entirely.

There are all kinds of ethical and technical challenges that await us, but we’ll have to deal with those as they come.

Enjoy the ride.