# Seashells, Software, by the Seashore

> Source: <https://blog.charliemeyer.co/seashells-software-by-the-sea-shore/>
> Published: 2026-09-22 14:17:06+00:00

# Seashells, Software, by the Seashore

*The words we use to describe the creation of software with AI tools are frequently inaccurate, namely the word “built”. To show this, I’ll construct an analogy between creating software and finding seashells on the beach. Then, we’ll discuss the negative effects of software incorrectly described as “built” with AI tools.*

## Seashells

If an 8 year old child picks up a seashell at the beach and shows their parent, did they:

- A) Find the seashell
- B) Build the seashell

The 8 year old should answer A. The seashell was created far in advance of its discovery, through a complicated process involving crustaceans or mollusks (I am not a biologist).

## Software (2016)

If a software developer in 2016 searched Google for a fix to their application and copy pasted code from a forum, did they:

- A) Find the solution
- B) Build the solution

In 2016, the developer would say that they found the fix. If they told their coworkers as such, they would receive a thumbs up emoji on their code change.

## Software (2026)

In 2026, AI tools are often preferred over Google. Given a request for a software fix, AI tools can generate code, apply it to the developer’s existing application, and verify that it worked. This is a meaningful, albeit mundane, productivity boost.

AI tools also allow for the creation of custom software from scratch without writing code by hand (Frequently called “vibe coding”). After producing a functioning piece of software using AI tools, it is tempting for the developer to say:

- A) “I built X”
- B) “AI built X”

As with the child and seashell, the more accurate verb to specify what happened is that the software was “found”, not “built”. If you prompt an AI tool to “Fix the issue with leap years in the date selection form”, you’ve used AI to find the code. This is not materially different from searching Google in 2016.

Requesting “a todo-list app called Todooty” from an AI tool will yield a working, yet completely generic, todo-list application with the word Todooty at the top. The process of creating this initial version of Todooty is functionally equivalent to finding a template and applying a minimal degree of customization. This does not constitute “building” software in any substantive sense.

The foundation of the capabilities of today’s AI models are their training data, which include a vast amount of publicly available code. When responding to a query, an AI tool does not literally retrieve a template for code from its training data, but the basis for the code was statistically “buried in the sand”, so to speak.

To the creator of Todooty: You used the AI tool to find the “seashells”. You didn’t build the seashells. The AI tools didn’t build the seashells. The AI tools let you dig through the pile of sand where the world’s seashells have been dumped.

Let’s return to our beach to consider a different scenario: the 8 year old combs the beach for hours, finding every seashell they can, and arranges them into a large picture of the family dog. Or, they create an elaborate sandcastle and adorn it with a few seashells. It is correct to say that these have been “built”. The existence of the seashells is a prerequisite to the final product, but we still assign credit to the child for their effort and our enjoyment of what they’ve made.

On the beach as in software development, the process of building something great takes considerably more time and patience than finding something functional.

A functioning piece of software found with AI like Todooty is superficially impressive, but unoriginal and easy to make. However, like the child, a developer can use AI tools to implement an interesting project with AI or use AI for the finishing touches on something otherwise hand built.

Todooty was not built, but its creator has an obvious incentive to claim that it was. “Built” connotes craftsmanship, effort, and quality. The hardworking developers who used AI tools to create their software deserve to benefit from this connotation, but the disingenuous “builder” has poisoned the well.

Adjusting the language by replacing “I built X” with “I used an AI tool to help me make this tool” is consistently accurate, but communicates nothing about effort or quality. The language is merely a symptom of a larger problem. If 0% of the ideas for a new piece of software are interesting or useful, the code used to build it isn’t relevant. If the ideas are great, and 90% of the code was written with AI, that’s not a problem.

The utility of the pre-AI level of friction in software creation is that it functioned as a filter for bad ideas: If it’s expensive or difficult to make software, you’ll quit working on a bad idea before you start marketing a prototype. I am not advocating for gatekeeping software creation, rather, I’m advocating for everyone, regardless of technical skill, to raise their standards for what they think is worth sharing.
