Skip to content
S-compass SapientTech.dev
Go back

Three days with twenty-six AI agents

Hero

I built a website in three days. Twenty-six AI agents helped. That’s the story. Except it isn’t.

March thirteenth through the sixteenth. Seventy-two hours. Thirty-three thousand lines of code. A hundred and eighty-seven files. One person and twenty-six agents, each one doing a different job. Like a factory floor where nobody gets lunch.

First day, I didn’t write code. Not what you’d call real code. I wrote plans. A thousand-line implementation spec. A brand document. A framework evaluation where the AI weighed Astro against Next.js and SvelteKit. It picked Astro. Zero JavaScript by default. I liked that.

The opening commit was eighty-one files and twenty-two thousand lines. Almost none of it was the website. It was measuring.

Most people think fast means typing fast. It doesn’t. Think about anyone who builds things with their hands. A carpenter, a tailor, a welder. They measure first. The measuring looks like the slow part. It’s the whole game. You just don’t know it yet.

Day two I triggered a thing called the design-agency workflow. Eleven hundred lines of instructions that pretend to be a creative team. A researcher. A brand reviewer. A creative director. They had names. They talked to each other.

The researcher went and looked at Stripe. Linear. Vercel. How they build their sites. It came back with a warning. The biggest risk is something called empty showcase syndrome. A site that looks good. Says nothing.

The brand reviewer was the cop. Navy and cyan palette, Instrument Sans typography. Don’t touch them. It had one job. Keep the rules. I liked that agent a lot.

The creative director made seven concept images and laid out a six-part story. Identity, philosophy, method, proof, portfolio, invitation. Like a conversation. You walk in, I tell you who I am. I tell you what I believe. I show you how I work. I prove it. I show you what I’ve built. Then I ask if you want to talk. That’s the whole site.

Then there was the Design-Iterator. It looked at the code and compared it to the concept images. Found gaps. Fixed them. We took fifty-two screenshots during this. Fifty-two. Each one closed a gap between what we imagined and what the browser showed.

I should talk about the pipeline. This is the part.

You start with prose. Regular English. What you want built. But prose is loose. Agents need something tighter. So we turned it into YAML. Every task got an ID, a priority, a dependency list. Then the YAML got broken into individual files. One file per job.

The YAML is the thing. It turns a story into a machine. You see the dependencies. You see what runs at the same time without crashing into each other. You stop doing one thing after another and start doing waves.

Evening of March fifteenth. Six agents launched at once, running in parallel. They didn’t just write code. Each one thought of three different ways to do the job. Scored each way against a rubric. Simplicity, correctness, consistency, accessibility. Picked the best one. Every time.

One of them expanded the test suite from three tests to twenty-two. Accessibility tests. Screen readers, reduced-motion preferences, three different screen sizes. It did that on its own. I asked for thorough. It decided what thorough meant.

I think that’s the part that got me. They made decisions.

Here’s a thing about JavaScript. I don’t like it. That’s not completely fair. I understand what it does. But every line of client-side JavaScript is a tax on the person loading your page. Their battery. Their data plan. Their patience.

First version of the site used Svelte components. Little islands of JavaScript scattered around. Second version we moved to Astro. Zero JavaScript by default. You want JavaScript, you have to ask for it. You have to make a case.

We used one animation library for the hero entrance. One. Because that motion earned its keep. Everything else is CSS transitions and a browser API called IntersectionObserver. The ventures grid, the methodology section. No JavaScript. The site feels like it costs something. It doesn’t.

The agents are good. Really good. But they’re not me.

They wrote a call to action. “Looking for the right team.” Fine. Competent. I changed it to “If you scrolled this far, we should probably talk.” An agent doesn’t write that. A person does, after they’ve sold something before.

I had a project called LifeGenie in the portfolio. Good project. But the business wasn’t ready to show yet. So I swapped it for FishingSherpa — voice-first AI fishing intelligence. That’s a strategy call. Agents don’t know which business is ready to be seen.

There was a stat on the page. A hundred and seventy thousand lines of code. The agents framed it as volume. Look how much. I called it the Build-to-Learn Litany. A hundred and seventy thousand lines is just a number until you think about what you had to figure out to write them.

And one small thing. A thin fringe around screenshots on dark backgrounds. A border artifact. The agents couldn’t see it. I could. One CSS swap — overflow-hidden to drop-shadow. You need eyes for that kind of thing.

So. Seventy-two hours. One person with twenty-six agents. The website has a methodology section that describes the exact process we used to build it. The proof is the thing you’re looking at.

I think that’s sort of all of it.



Next Post
What six months of AI-generated code taught me about plumbing