Skip to main content

The first prompt got me 80% of the way. The last 20% took the weekend.

I built a portfolio directory for AI-built PoCs in about an hour. Getting it live was a different job...

Updated 5 min readMarkdown

"Don't forget the poccorn."

That's my daughter on Saturday morning, making sure we don't forget to buy popcorn for the parade that evening.

On the way to Disneyland Paris, my wife driving, I was thinking what a shame it was (token maxxing FOMO getting the best of me...) and it instantly made me smile:

"PoC-corn: small things, popped fresh, best shared."

Which is quite accurately what a good proof of concept is!

First message, one hour

The brief was one message. Not a spec, not a ticket. A single paragraph about what had just popped in mind, plus one specific instruction: run our usual adversarial review at every step, and write a rubric wherever one is missing.

What Claude Code (on Opus 5.5 high) came back with, in about 55 minutes:

  • a product doc and a spec,
  • review rubrics for product, positioning, design, engineering, code and security, and trust and safety,
  • GitHub sign-in, PoC pages, builder portfolios, report-and-hide moderation, a trust hold on first submissions, share cards,
  • 51 tests and 21 browser smoke checks, all green (doubled-check via mutation testing because the agent rightfully flagged it as weird that all the tests passed on first run...),
  • a couple rounds of fresh-context review, with the fixes committed.

Turns out that's the easy part: the first 80%. I typed one message.

The reviewers earned their keep

I'm not going to pretend the agent got everything right on its own. It didn't.

It wrote "never run migrations in the build" into the spec. Then it left exactly that in package.json :facepalm:. Preview deploys would have been able to touch the production database. The author didn't see it. A separate reviewer, with no memory of writing the spec, diffed the spec against the code and caught it in one pass.

Two of the smoke checks were hard-coded to pass. Making them real exposed a race in the test straight away.

Nine review runs (total across the different rubrics), 76 findings, 11 of them blockers. And the reviewers were wrong too, sometimes: on re-check, one of them walked back its own overstated finding. That's the point of a re-check. It verifies evidence. It doesn't rubber-stamp.

The rubrics themselves are nothing fancy: a role, a stance, a checklist. Cheap models with a sharp checklist do most of the work.

Then the other 80% of the time

Here's what was left after the build was done:

  • sticking to the name I could live with,
  • picking a domain (and changing my mind twice, mostly on price),
  • renaming the GitHub repo, which broke the agent's git access and Vercel's,
  • the hosting project and its environment variables,
  • mail forwarding for the contact address,
  • a GitHub OAuth app, a Postgres database, the moderation webhook,
  • this article, and the posts that point to it.

None of that is code. All of it needed me: a decision only I could make, a new account to sign up for, a credit card only I should touch. The agent could prepare each step down to the last click. It couldn't (and still shouldn't IMO) take the step.

Eleven messages from me over the whole weekend. One of them built the app. The other ten were decisions and account chores. Not one was a correction of the build.

So the 80/20 isn't in the agent's compute. The agent was busy for about as long after the v1 as before it. It's in my attention and in calendar time. The first 80% got compressed into an hour. The last 20% didn't compress at all, because it was never the typing that was slow.

Changing my mind was cheap, on purpose

I came back on four decisions over the weekend. Name once, domain twice, and who writes the launch content once. Total cost: only a few additional prompt turns.

Two reasons. The brand lives in a config value, so the rename was one line plus docs. And buying the domain, the one thing that couldn't be undone, waited until the name had settled. The expensive .ai option never got bought.

The only churn that cost something tangible (mostly time) was renaming an external identifier, the repo. Not the decision. The plumbing around it.

If there's a lesson, it's boring: keep the reversible parts reversible, and put the one-way doors last.

What PoCcorn actually is

A free page with every PoC you've built with an AI agent, on one link. Live demo, stack, tools (Claude Code, Cursor, v0, whatever you used), and how long it took. Safe for work, so you can put the link on a CV.

There are already a dozen directories of vibe-coded apps. I'm not claiming a moat. The only bet I'm making is that builders bring on other builders, through the links they share. If fewer than 15% of builders arrive that way by 15 November, I park it. No pivot, no rebrand. Just park.

PoCcorn is the first PoC on PoCcorn, with the numbers from this post: poccorn.com/p/poccorn-5oo9sx.

So where's your last 20%?

The prompt is the fast part now. For me, the slow part was everything that needed a human with a credit card and an opinion.

I'm curious where it sits for you. Is it the decisions, the accounts, the review, or something I haven't hit yet?

Put your PoCs up at poccorn.com, and tell me what's missing.

And turns out we indeed forgot the "poccorn" for the parade 🤦‍♂️ but we headed to the restaurant right after ^^

4 views

About the author

  • Freelance Data Architect (ex-Criteo, JobTeaser, Welcome to the Jungle...) — I work 2–3 days/week with clients so I can spend the rest building. Currently: Limner (soon to come), a visual conversation threading layer for AI agents. Writing at here at bluu.dev

No comments yet. Be the first to comment.