OptimalStack

Analysis

Three Verge Staffers Vibe-Coded Sites. Two Struggled.

A month-long experiment with Claude Code, Codex and Gemini produced three working personal projects — and a clear ceiling on what non-developers can ship.

Original broadcast by The Verge · Watch on YouTube

Quick Verdict

The core takeaway
Vibe coding reliably produces useful personal software, but all three Verge testers hit a hard wall between a tool that works for them and anything a stranger could use.
Key tool featured
Claude Code
Who this is for
Non-developers considering whether an AI coding assistant can build the small utility they keep wishing existed.

The Setup

David Pierce gave two Verge colleagues, Jake Kastrenakes and Hayden Field, one month to build a website solving a real problem in their lives. No shared toolchain was specified. By accident, all three ended up on different assistants: Kastrenakes on Codex, Field on Gemini (after bouncing off free-tier Claude), and Pierce on Claude Code, which he pays $20 a month for.

The results diverged sharply. Pierce shipped two functioning projects he uses daily. Field published a real site on a real domain. Kastrenakes built something that works locally but never made it onto the internet.

  • Pick one tool and commit. The person paying for a subscription had by far the smoothest month.
  • Free tiers are a real constraint. Field hit Claude's free limit almost immediately and couldn't try Codex at all without paying.
  • Scope the first prompt. Field's opening request bundled design references, tone and Easter eggs into one message and she concluded she'd asked for too much at once.

What Actually Broke

The failures clustered around a few repeated patterns. Codex kept hitting permission walls and declaring the job impossible rather than asking for access. Kastrenakes ended up with seven or eight separate chat threads across as many working days, restarting each time the agent gave up. The final blow: after building the site inside ChatGPT Sites — a publishing route ChatGPT itself suggested — Codex reported that his enterprise environment wouldn't allow publishing.

Design was the other recurring problem. Claude Code's output was described as multiple shades of beige and genuinely unusable to look at. Codex's first logo attempt was a photorealistic stock-photo pastiche, and successive iterations never improved on the abstract blobs it settled into. Field spent close to an hour fighting Gemini over a single scalloped button; it managed a complex 90s-style 3D button instantly but couldn't produce a simple custom shape.

Guardrails misfired in ways nobody could argue with. Gemini refused to embed YouTube videos it was perfectly entitled to embed, and flagged Field's own bio — written into that same chat — as potential plagiarism, inserting invisible characters as a workaround.

  • Front-load the brief. Pierce's most successful project started with a roughly 1,500-word opening prompt spelling out both what to build and what not to do.
  • Verify the deployment path early. Ask where the thing will live before building it, not after.
  • Expect link retrieval to fail. Field tried every platform to find her own published work; each surfaced one or two items at best. She compiled 29 pages of articles by hand.

What Worked

Pierce's photo-sharing site is the strongest case study. He told Claude Code that security mattered, and it made a series of decisions on its own: separate admin and viewer passwords, revocable per-person magic links in the style of Google Docs sharing, access logging, and Cloudflare rate protection. It also silently stripped EXIF data as a privacy measure — which broke chronological sorting and forced a rebuild that extracts the capture date, strips the metadata, then stores the date separately.

He added an Apple Shortcut so photos go from camera roll to timeline in a tap, an Android share-sheet route for his wife, and a download-all button that zips every photo as insurance against the project dying. His second build, an archive of 5,997 links from 136 issues of his Installer newsletter, auto-categorised entries and cross-referenced them against public sources to identify films and link out to TMDB. It consumed millions of tokens over about a week.

Field's portfolio replaced a 2022 Wix site she'd stopped being able to edit — Wix wouldn't accept an HTML upload. She moved to free GitHub Pages and pointed her existing domain at it. Total spend: nothing.

  • State non-functional requirements up front. "Security matters" produced architecture Pierce wouldn't have specified himself.
  • Give it reference images, not adjectives. The button that defeated a dozen text prompts was solved in one attempt with example screenshots.
  • Build an exit hatch. A one-click export means abandoning the project costs nothing.

The Ceiling

All three landed on the same conclusion. These tools are excellent at producing small, personal software that only has to make sense to one person. The distance between that and a product strangers can use is enormous, and none of them could see how to cross it.

Pierce's example: his mother used the photo site and sent back bug reports. His only move was to paste them into Claude and hope. That is not, he noted, a viable path for mainstream software. Field relayed the objection her software-engineer friends make — clean code, security and scaling are the actual job, and prototyping is a small fraction of it. Cosmetic defects survive because fixing them is tedious rather than hard: a Unicode apostrophe mismatch broke a search result in the Installer archive and simply stayed broken.

  • Aim at yourself. Personal tools, small friend groups and internal team use are where these tools currently deliver.
  • Budget mental bandwidth, not just tokens. The last 10% is where enthusiasm dies.
  • Treat politeness as optional. All three reported drifting from courteous prompts to blunt commands, with no apparent penalty.

The Payoff

A month of evenings gets you software that solves one specific annoyance properly: a photo feed your family can actually use, a portfolio that no longer lists a dead email address, a searchable archive of six years of newsletter links. Hosting can cost nothing if you already own a domain, and the assistant subscription runs $20 a month. What it does not buy you is a product. Go in wanting a tool for yourself and the return is real; go in wanting a business and you will spend the month learning why software engineers exist.

Pros & Cons

Advantages

  • Claude Code independently produced sensible security architecture — revocable share links, separate passwords, access logs, EXIF stripping — from a single instruction that security mattered
  • Free hosting via GitHub Pages made a full portfolio site cost nothing beyond an already-owned domain
  • Personal integrations like an Apple Shortcut for one-tap photo upload came together and work in daily use
  • Large-scale grunt work is feasible: nearly 6,000 newsletter links auto-categorised and cross-referenced against public sources
  • Reference images solved design problems that dozens of text prompts could not

Limitations

  • Codex repeatedly hit permission walls and abandoned sessions instead of asking for access, forcing seven-plus thread restarts
  • Codex built a site inside ChatGPT Sites, then reported the enterprise environment wouldn't let it publish — the project never went live
  • Default visual design was poor across tools: beige-on-beige from Claude Code, photorealistic stock-photo logos from Codex
  • Guardrails misfired — Gemini blocked legitimate YouTube embeds and flagged the user's own freshly written bio as plagiarism
  • Every tool failed at finding and linking a writer's own published articles; the work was done manually
  • Free tiers ran out almost immediately, and Codex was unusable without paying
  • No clear route from a working personal prototype to anything shippable to strangers

Frequently asked

Which AI coding tool performed best in the Verge test?

Claude Code, used by David Pierce on a $20/month plan, produced the two most complete projects. Gemini worked well enough for Hayden Field to publish a live portfolio. Codex was the weakest experience — Jake Kastrenakes never got his site online.

Can you vibe-code a website for free?

Partly. Hayden Field built her portfolio on Gemini's free tier and hosted it free on GitHub Pages using a domain she already owned. But she exhausted Claude's free allowance almost instantly and couldn't test Codex at all without paying.

What was the hardest part of the process?

Design and deployment, not logic. One tester spent roughly 45 minutes failing to get a simple custom-shaped button; another built an entire site only to discover at the end that his environment wouldn't let him publish it.

Can vibe coding produce software other people can use?

All three testers said no. The gap between a working personal tool and a product strangers can rely on — clean code, security, scale, bug triage — was described as vast and unclear how to cross.

How should you start a vibe coding project?

Pierce's most successful build opened with a roughly 1,500-word prompt specifying both the goal and the things the assistant should avoid doing. Confirming where the site will actually be hosted before building it also avoids the failure that sank one project.