Building With AI

Language Models

Everyone these is building with AI. Or wants to be. Or telling their employees they need to build with AI. Or shipping with AI. Or putting AI in their products.

But what are people even talking about when they say you should build or ship with AI? I can think of at least three different approaches that make use of “AI” the proverbial way it is being referred to most of the time today and I think they’re worth discussing because I rarely hear the difference discussed.

Interacting with AI to figure things out

Let’s say I want to build a website but I’ve never built a website before. I can have a conversation with a language model based chatbot and learn more about how to write HTML, style my site with CSS, and add interactivity with JavaScript. I can learn about hosting options like WordPress or Github Pages, depending on my needs and the type of content I want to publish.

The language model can take my prompts and feedback and steer me in a helpful direction.

This doesn’t work for uncharted territory but it works pretty well for Solved Problems. Many people know how to build websites and you can learn to. With a language model, you don’t necessarily need to read a book on how to build a website, you can start wherever you want to in the process and the language model can help fill in gaps.

If you try out the model’s suggestions, you’ll find a lot of suggestions work and some don’t. Experimenting like this is a great way to develop an intuition for what the model you are working with can do.

Using AI to make things

Coding agents like Claude Code and Cursor and “vibecoding” products like Lovable and v0 have become popular ways to build software. Using these tools significantly lowers the barrier to entry for building software. You may not build great software, bug-free software, or performant software, but you’ll probably build more than you would have without them.

I also find the coding agents helpful for collaboratively building software. If you know how to code, you can use the agent to quickly scaffold boilerplate code, implement architecture patterns, refactor code, and more.

I think there is a wide range over which you can use these tools to build software. Not everyone agrees.

Either way, this is a second way to “build with AI”.

Building software with AI that does something as part of the product

ChatGPT is an example of a product that uses the AI in the experience itself. You send a message to ChatGPT and OpenAI uses your input as the input to their model. They run inference with their model and stream the output to your browser.

The product experience itself is made possible using the language model or AI (previously more commonly known as machine learning).

Teams building chatbots on top of knowledge bases, Slack bots that answer frequently asked questions automatically, and agents that read your emails and schedule meetings are all examples of products that use AI in a way that is core to the product experience.

Said differently, these products are made possible using the emergent capabilities of the language model. The prior two examples of “building with AI” actually just use AI to do things we did before, but faster and with less friction than before (to say nothing of the tradeoffs of learning how the software works and not understanding your code).

So the next time someone says “we’re building with AI”, ask them what they mean. Getting on the same page will help save a lot of time, energy, and confusion.

This is a living document in my digital garden. It may grow, change, or branch into new ideas over time.