first-vibecoding.md

$ cat first-vibecoding.md

My first vibecoding: ChatGPT, copy-paste and a model that could not add up

A drawer story, from the very beginning. Long before anyone said the word vibecoding out loud, I was already doing it. I just did not have a name for it, and I had nothing close to the tools we have today.

I have paid for ChatGPT since day one of the paid tier. When OpenAI launched ChatGPT Plus in early 2023, twenty dollars a month, I was in immediately. Not because I had a grand plan, but because it was obvious even then that something had shifted, and I wanted to be holding it in my own hands, not reading about it.

What I actually built

The first real things I made with it were vibecoding experiments. Some Python scripts, nothing glamorous, the kind of small utilities you write to scratch your own itch. I would describe what I wanted, the model would spit out code, and I would try to make it run.

The key word there is try. Because the workflow back then was, by today's standards, almost comically primitive.

The copy-paste era

There was no agent. No editor integration. No plan mode, no tool calls, no file access. There was a chat box on a web page and there was my editor, and the bridge between them was me, with Ctrl+C and Ctrl+V.

The loop went like this:

Stack Overflow was not a fallback, it was a core part of the toolchain. The model got me maybe seventy percent of the way, and the last stubborn thirty percent was old-fashioned manual labor: reading threads, trying snippets, fixing things by hand.

The model could not even do math

And here is the part younger builders genuinely do not believe: those early GPT models could not reliably do arithmetic. Ask it to multiply two largish numbers and there was a real chance it would confidently hand you a wrong answer. It was a language model in the most literal sense, very good at the shape of a sentence, shaky on whether two plus two actually landed on four.

This is well documented, it was not just my bad luck. The early models hallucinated freely and stumbled on basic math. You learned to never trust a number it gave you without checking it yourself.

So I did not lean on it for correctness. I leaned on it for momentum: a rough draft of a script, a starting point, a way to not stare at a blank file. The judgment stayed with me. The model was a fast, slightly unreliable junior who occasionally lied with total confidence.

From there to here

Now look at where the exact same impulse has landed. The thing I was doing by hand, copy, paste, run, fix, ask, repeat, is the thing an agent now does on its own, in a loop, while I watch.

Today I open Claude Code, write a spec, let it plan, review the plan, and let it write a whole feature across multiple files. It reads the codebase, runs the tests, fixes its own errors, and hands me something that actually works. The simple stuff it one-shots. Stack Overflow has quietly dropped out of my daily loop almost entirely.

Same instinct, completely different machine. Back then I was the bridge between a chat box and an editor. Now the agent is the bridge, and I have moved up to deciding what should exist and whether what came back is any good.

Why I am glad I was there from day one

I am genuinely happy I started in the copy-paste days, because it taught me the right relationship with these tools. I never believed the model was magic, I watched it fail at adding two numbers. So when the hype gets loud, I have a built-in calibration: I remember what this was, and I treat the agent as a capable collaborator I still have to verify, not an oracle.

That is the whole arc of vibecoding for me. It started as one person, a chat box, Stack Overflow and a model that could not add up. It became autonomous agents shipping real features. And the only reason I trust the agents now is that I remember exactly how rough the beginning was.

If you are starting today, you are starting at a far better place than I did. Just do not mistake the polish for infallibility. Under the hood it is still the same kind of machine I was wrestling in early 2023, only enormously, almost unrecognizably better.

back to blog