Vibecode build plans · № 8
Build a local-business page
One mobile-first page that answers what a walk-in actually needs — a plan you can paste into your agent, with the traps marked.
Most local businesses don't need a website; they need one page that answers a phone screen at 8pm. Are you open? What do you do? What does it cost? How do I call you, and how do I get there? A cafe, a salon, a barber, a repair shop — the entire job is to turn a search result into a walk-in or a phone call, and a single page does that better than any template-farm subscription with a monthly bill and a stranger's branding stapled to the footer.
This plan is opinionated, because the failure mode here isn't ugliness — it's being invisible. A local page that Google can't parse and a phone can't tap is worse than no page. So the prompts steer your agent hard toward the two things that decide whether this page earns its keep: local search structure, and thumb-friendly speed on a cellular connection.
The spec — and the cuts
- One HTML file. Inline CSS, no build step, no framework, under 60KB. A shop with a menu and a phone number is not a web platform.
- Mobile-first, because nearly everyone hitting a local page is standing on a sidewalk on a phone. Single column, big tap targets, readable at arm's length.
- Cut: booking system. A "call us" number converts fine and never breaks. Don't wire up a calendar you'll have to babysit.
- Cut: a CMS. You'll change your hours twice a year. Edit the HTML both times; that's cheaper than admin logins and a database.
- Cut: e-commerce and a blog. No cart, no checkout, no "news" section that will show a post from 2023 forever. One page, current, done.
The prompts
Tick the features you want — the prompts below rewrite themselves. Then paste them into Claude Code (or Cursor, or any agent) one at a time, in order.
Every toggle edits the prompts. The copy buttons grab the current version.
1 · Build it
2 · The local-SEO + mobile pass (don't skip this one)
3 · Ship it
4 · Get human eyes on it before it goes live
Where agents go wrong on this build
- Skipping the LocalBusiness schema. Left alone, most agents build a page that looks right and ships zero structured data. The LocalBusiness JSON-LD block — name, address, phone, hours, geo — is the single highest-leverage detail for showing up in local and maps search. It's invisible to the visitor and decisive to Google. If the agent forgets it, the whole point of the page is gone.
- NAP that doesn't match, character for character. The name, address, and phone number on this page must be identical to the Google Business Profile — "St." vs "Street", "Ste 4" vs "Suite 4", a different phone format all count as a mismatch and quietly hurt local ranking. Agents love to "clean up" formatting; here, consistency beats tidiness.
- A heavy map embed. Dropping in an iframe Google Map feels helpful and tanks mobile load — it drags in hundreds of KB and third-party trackers before your hours even render. Use a plain "Get directions" link that opens the visitor's maps app instead; it's faster, private, and works on every phone.
- Hours and phone baked into an image. An agent that renders
the hours or the phone number as part of a hero graphic has made them invisible
to search and to screen readers — and un-tappable. Hours must be real text; the
phone must be a real
tel:link so a tap dials it.
Why the feedback step is in the plan
You know this business too well to see its page the way a stranger does. You know it's the corner unit, that "we're closed Mondays," that the number rings the front desk — so your eye fills in what a first-time visitor's won't. Whether the hours are actually findable, whether the "call" button is obvious under a thumb, whether the address is the one on Google — that's exactly the judgment you can't make about your own shop. Prompt 4 wires your agent to our MCP server: it shares the live page, you text the link to a regular or a neighbor, they tap and pin notes right on it (no login), and your agent reads the notes back and applies what survives your judgment — before a real customer ever loads it.