How to run a one-person AI agency fixing local business websites
Playbook for underemployed builders. Two levels: do the work yourself first, then scale with a fleet of agents. Not a memoir.
You’ve got time, a laptop, and models that draft fast. Most local businesses still have sites that look abandoned, ignore mobile, and hide the phone number. That gap is the job.
You’re not founding “an agency” on LinkedIn. You’re the person who shows up understanding the owner’s customer, with a clearer homepage and a deposit link.
Non-negotiable
The principle
AI is for going deeper and better — not a magic “make this business great” button.
Don’t type build me a great website. That’s how you get a purple template with stock handshakes.
Before any tool:
- Who is the owner?
- Who pays them / walks in / books?
- What’s the story — why does this place exist?
- What’s broken on the current site for that person on a phone?
AI drafts. You decide what looks good. If you can’t say why a block or sentence works for this café or plumber, you’re not done.
Light context: Adam’s path ran through Concept Cupboard and youth unemployment — scarcity into things people pay for. Same move whether you’re 19 or restarting. This page teaches the path; it isn’t his autobiography.
Level one
Beginner — you do each job, end to end
Do this until you’ve shipped and been paid at least once. Tools amplify; they don’t replace the uncomfortable send.
01
Find the SMEs (AI-assisted lead hunting)
Don’t “open Maps and vibe.” Run a hunt with a list and a bar.
Build a list
- Pick a niche + geography: e.g. independent cafés within 3 miles, or plumbers in one postcode sector.
- Google Maps: search the niche, scroll the results, open each listing. Note website URL, rating count, “website” vs “order online” vs no site, and whether photos look owner-shot or stock.
- Instagram / Facebook: same niche + area hashtags or place tags. Businesses with decent IG and a dead website are high intent — they already care about looking good somewhere.
- Companies House / local directories / “near me” Reddit threads: secondary. Maps + IG cover most week-one hunts.
Use AI to help the hunt (not to invent leads)
- Paste a batch of listing names + URLs into Grok Bot / ChatGPT / Claude: ask for a table — offer guess, CTA obvious?, mobile crimes visible from homepage screenshot description, priority 1–5.
- Ask for outreach first lines grounded in what you observed, not “I help businesses grow with AI.”
- You still click every site. AI ranks; you verify.
Shortlist rules (write them down)
- Pain visible in 10 seconds (tiny type, no phone, 2014 WordPress theme, broken booking).
- Owner reachable (Maps phone, IG DM, walk-in hours).
- You can imagine a better homepage without lying about the business.
- Cap: 20 screenshots → 5 shortlist → 1 artefact this week.
Capture
- Folder per lead: homepage screenshot (mobile + desktop), Maps listing screenshot, 3 bullets of context (offer, customer, story guess), URL, contact.
02
Branding / design done right (Figma + Figma Make)
“Right” for a local owner is not “looks like a Series A SaaS.”
Right means
- Offer clear in five seconds on a phone
- Type you can read on a bus
- One primary CTA (call / WhatsApp / book / order)
- Feels like their place — materials, street, food, van, hands
- Hours, location, trust (reviews) findable without hunting
Workflow
- Write a one-pager brief before pixels: customer, offer, proof, CTA, what to cut from the old site.
- In Figma, frame mobile first (390 wide). Place real copy (even rough) — lorem is how you design the wrong thing.
- Use Figma Make to accelerate layout variants once the brief exists. Generate options, then kill most of them. Keep the one that serves the offer.
- Type: one family, two weights. Colour: pull from their signage / IG, not a random gradient pack.
- Before/after side by side for the walk-in or DM.
Don’t
- Start in Make with “modern restaurant website” and no brief.
- Five fonts, floating chatbot, hero that says Welcome to our website.
03
Assets (Nano Banana + real photos)
Order of preference
- Photos the owner already has (phone camera of the shop, plate, job van, team)
- You shoot 20 minutes on site if they’ll let you
- Google Nano Banana for moodboards, texture, supporting graphics — never as fake “customers” or fake storefronts that aren’t theirs
Use Nano Banana well
- Prompt from the brief: materials, lighting, neighbourhood vibe — then ask “what would look dishonest for this business?” and delete those.
- If an image could be any business in any city, it’s out.
- Keep a “real vs generated” note in the folder so you don’t accidentally ship a lie.
04
Build the site (Cursor, v0, Framer, Codex)
Pick one primary build path per job. Mixing everything burns the week.
| Path | When | How to use it well |
|---|---|---|
| Framer | Mostly marketing pages, you want speed | Build from your Figma structure; bind the real CTA; ship |
| v0 | You want visual UI drafts fast, then harden | Generate sections from the brief; paste into Cursor/Next or rebuild clean |
| Cursor + Codex | Forms, booking embeds, custom behaviour, you want a repo | Spec constraints in the agent brief: offer, CTA, mobile-first, no chatbot, empty/error/success states. Review every diff |
Agent briefing pattern (Cursor / Codex)
- Paste: business one-pager, Figma export or section list, what not to do.
- Ask for one section at a time (hero → services → proof → contact).
- After each section: open on your phone. Taste check before the next.
- Grok Bot can critique copy against the owner’s voice (“does this sound like a plumber or a consultant?”).
Ship layer
- Host: Vercel or keep their existing host if it’s fine.
- Forms / email: Resend (or their current form tool if it works).
- Don’t block go-live on perfect analytics.
05
Getting paid / deposit / go-live
Presumptive close. Show the mock or audit. Ask for a deposit to finish and publish this week. Scope on one page: what’s in, what’s out, go-live date.
I mocked a cleaner homepage for [Business] from how your customers actually find you. If you hate it, ignore me. If you like it, [£deposit range — placeholder] and we go live this week.
Money mechanics (placeholders until Adam publishes numbers)
- Deposit before go-live (Stripe invoice or payment link).
- Remainder on publish or +7 days.
- Retainer only after they’ve seen live results once.
Go-live checklist
- DNS / host pointed; mobile CTA works; phone/WhatsApp tap-to-call; hours correct; one thank-you path after form submit.
- 2-minute Loom before/after for them (and for your next outreach, with permission).
- Ask for testimonial or one referral while they’re happy.
If they ghost: your artefact was soft, context was thin, or the ask was soft. Tighten and hunt again — don’t rebuild the stack.
Level two
Advanced — from IC to a fleet of agents
Once you’ve done the beginner loop for real money, you stop being the bottleneck for every pixel. You design a harness: agents that run briefs, redesign drafts, outreach, QA, and retainer chores — while you keep taste and customer truth.
Same principle: agents amplify brief quality. They do not invent the customer story.
What changes
| IC (beginner) | Fleet (advanced) |
|---|---|
| You hunt, design, build, close, each job | Agents prep lists, drafts, variants; you approve and close |
| One site at a time | Pipeline: leads → briefs → drafts → QA → live → retainer |
| Tools as apps you click | Tools as workers with jobs, inputs, outputs, stop conditions |
Architecture in practice
Think in jobs, not chat tabs.
01 · Lead scout
Lead scout (scheduled or on demand)
02 · Brief
Context brief writer (Grok Bot / Codex)
03 · Design
Design variant runner (Figma Make + taste checklist)
04 · Build
Build agent (Cursor / Codex / v0 → repo or Framer)
05 · Outreach
Outreach / follow-up (Grok Bot drafts; you send)
06 · QA
QA + retainer loop
Orchestration
- Grok Bot: day-to-day coaching and brief critique — “is this still about their customer?” — and drafting outreach. Not unsupervised sending.
- Codex / Cursor agents: parallel implementation and refactors against the brief; PR-sized chunks.
- Stop conditions: every agent job ends in an artefact you can reject in under five minutes. If review takes an hour, the brief was vague.
How not to screw the fleet
- Never let an agent invent reviews, addresses, or “customers love us” claims.
- Never auto-publish. Deposit and go-live stay human.
- One source of truth for the brief; agents read it; they don’t freestyle brand voice.
- Measure: deposits and live sites, not “agents spawned.”
Advanced week shape (after you’ve earned IC reps)
- MonScout agent fills 30 leads; you verify 10.
- TueBriefs for top 3; you lock one.
- WedDesign variants; you pick; build agent opens preview.
- ThuOutreach + walk-ins with artefact.
- FriGo-live or iterate; retainer checklist on past clients.
You’re still the taste and the relationship. The fleet removes typing time, not judgment.
Both levels
Taste vs slop
Good
Five-second offer; readable type; real photos; one CTA; recovery states that don’t lose the booking; copy that sounds like the owner.
Slop
Welcome to our website; gradient soup; stock vibes; chatbot nobody asked for; copy that could be any business anywhere; agent output shipped without a phone check.
Proof, not headcount
Milestones
- First deposit on something that didn’t exist yet
- Site live; owner can change hours/menu without calling you
- Testimonial + referral
- Retainer
- (Advanced) Second job in flight while an agent preps the next brief
Today
First move
Open Maps. Build a 20-row list with screenshots — not a vibes tour. Write three lines of customer/offer/story for the best one. Only then open Figma or an agent. Send a mock or audit before the week ends.
Context, taste, deposit. Everything else is tooling.