AI services
What I'm building now

An ad snapshot that builds itself in a minute

I designed and built a free snapshot that reads a business's live Meta ads, sets them beside nearby rivals', checks what AI assistants say about it, and makes three new ads it can buy on the page.

Try the snapshot
Role
Designer and builder, solo, with AI
Organization
Independent, for my studio
When
Nov 2026, live
Platform
Astro site, AWS Lambda, the Meta Ad Library, Claude and Cloudflare
The snapshot's screen flow: real screens from the live site in three rows, joined by arrows from the button or link a visitor uses to the screen it opens. The main path runs from the studio page through the start form, the build, the snapshot and the new ads to checkout and a thank-you page.
Every path, from the live site. Business names are changed and their photos blurred.
  1. 01A small business can see its own ads but not how they compare, and an agency audit means a call, a contract and a wait.
  2. 02I designed and built an instant snapshot: a website and a ZIP code in, a private snapshot page out in about 45 seconds, with three new ads arriving about 25 seconds later.
  3. 03Every branch ends somewhere useful. No website, no Facebook page, no live ads or a daily limit each get their own screen, never a dead end.
  • flow mapping · from the live screens
  • proto-personas
  • interaction design · progress and states
  • information design · grades and sourced numbers
  • building with AI · Claude Code
  • serverless architecture · AWS Lambda

Owners can see their ads, not how they compare

Meta's Ad Library shows any business's live ads, but nobody reads it side by side with the competition. Owners guess whether their ads are stale, and the usual answer is an agency audit: a call, a proposal, a week.

My studio needed a first conversation that was useful on its own, with nothing to book and nothing to sign.

Three people, three paths through the same flow

I wrote three proto-personas before laying out the screens: a restaurant owner with only a Facebook page, a founder doing marketing in the gaps, and an agency project manager prepping pitches. They're assumptions about who the snapshot is for, not research, and each card says so. Each has one signature goal the snapshot has to serve.

Each one takes a different branch. Rosa needs the start form to work without a website. Sam moves between the Meta and AI tabs and buys. Priya runs several snapshots in a row and reaches the daily limit, so that screen has to offer a way forward.

Proto-persona card for Rosa, a restaurant owner, with an illustrated portrait in an apron. Her signature goal: fill the quiet weeknights with people who live nearby. Her path starts with the no-website form.
Rosa: no website, just a Facebook page.
Proto-persona card for Sam, who runs a small brand, with an illustrated portrait in a hoodie. His signature goal: get fresh ads running this week, without hiring anyone. His path moves between the Meta and AI tabs and ends at checkout.
Sam: one thing to fix, fast.
Proto-persona card for Priya, an agency project manager, with an illustrated portrait in glasses and a blazer. Her signature goal: walk into every pitch with numbers she can source. Her path reaches the daily limit and its email form.
Priya: several snapshots before a pitch.

One main path, and no dead ends

The main path is seven screens: the studio page, the start form, the build, the snapshot, the new ads, checkout and a thank-you page. Choices sit above it and endings below.

I mapped the flow from the live site rather than from sketches: each arrow leaves the element a visitor actually uses, outlined in orange, and lands on the screen it opens. Dashed arrows are the steps that happen on their own while the snapshot builds.

The main path alone: seven screens in a row, from the studio page to the thank-you page, each joined to the next by an arrow from the button that leads there.
The main path, from first click to a paid order.

Two fields, and a way in without either

The form asks for a website and a ZIP code. The ZIP is required and sits up front: without a place, the questions go national and so do the competitors.

"I don't have a website" swaps the field for a Facebook page name. "I don't have a Facebook page either" turns the form into a short request to get in touch, because the Meta snapshot has nothing to read without one.

The start page: a headline on the studio's gradient and a form with a website field, an I don't have a website button, a ZIP code field, optional competitors and a Get my free snapshot button.
Website and ZIP.
The same form after I don't have a website: a Facebook page name field replaces the website field.
No website: a Facebook page instead.

Show the page, then let the slow part arrive

Reading a website, finding the right Facebook page and pulling live ads takes time. The progress card names each step as it happens, and an optional email field gives the wait a use.

The snapshot page opens as soon as it's written, with a placeholder where the new ads go. They arrive about 25 seconds later and the open page fills them in. If several Facebook pages match, the card asks which one is theirs; if none does, the snapshot carries on with businesses like theirs nearby.

The progress card: four steps with status rings, a progress bar on the step pulling live ads, and an optional follow-up email field.
Building, with an optional follow-up email.
The progress card asking A few pages match, which one is yours, with page choices and None of these.
When several pages match.

Their ads beside their rivals', and what AI says

The Meta tab leads with one finding and four numbers, then shows the business's three oldest live ads, the evidence of staleness rather than a showcase, beside a table of nearby rivals and their new ads in the last 30 days. Grades come from published checks, and every number traces to the Ad Library or the business's own site.

The AI tab asks the questions a shopper nearby might ask an AI assistant and records whether the answer names the business, plus whether assistants can read the site at all.

The snapshot's Meta tab: a headline finding, four stat cards, the business's oldest live ads with blurred thumbnails, and a category table of nearby competitors.
Meta tab. Names changed, ads blurred.
The snapshot's AI tab: checks passed, counts of answers that name the business, and a question asked of Claude with its answer blurred.
AI tab. The answer text is blurred.

Three ads made from their own photos and words

Each snapshot ends with three new ads built from the business's own site, photos and lines, shown as watermarked previews. Owners pick the ones they want and buy them on the page, with no call.

"Preview in the feed" shows the picks as they'd sit on Instagram and Facebook. Checkout is a Stripe Payment Link, and the thank-you page says what arrives and how.

The new ads section: three ad previews, blurred here, each marked selected, with Preview in the feed and a Buy 3 ads button.
Pick, then buy.
The feed preview: the three new ads, blurred here, as Instagram posts, with tabs for Instagram feed, Facebook feed and Stories.
The picks in a feed.

Every dead end became a screen

No Facebook page found: a short form for the name and kind of business, and the snapshot goes on without one. A business with no live ads gets a page about its rivals' ads and where to start. The daily limit is a question, "Want more snapshots?", with an email field, not an error.

The progress card saying We couldn't find your Facebook page, with fields for business name, kind of business and an optional page link, and a Continue button.
Page not found.
A snapshot for a business with no live ads: an empty slot in a phone feed where its ad would be, two figures Meta publishes, and its nearby category.
No live ads.
The progress card after the daily limit: Want more snapshots? with an email field and a Send button.
The daily limit.

Free to use, and cheap to leave running

A free tool on the open web needs limits built in. Each visitor gets three snapshots a day; Claude stops for the day once it has spent $5; generated pictures are capped, with an email to me when they run low. Two snapshots build at once, and the rest wait their turn.

The pages are private by design: an unguessable address, noindex, linked from nowhere. Every number on them traces to the Ad Library or the business's own site.

Live, and early

The snapshot went live in November 2026. It's too early for usage numbers, so there are none here.

One style system, drawn as a spec sheet

Writing the style guide down showed how much the pages had grown: about 45 colours, 50 text sizes and 20 corner sizes for a handful of pages. I cut them to 23 colours, 8 sizes and 5 corners, with no shadows, then drew the result like a building set: every part at 1:1, every state, every contrast ratio measured.

See the full style guide
The style guide's cover sheet: the headline See where you stand, in the feed and in AI answers on the studio gradient, beside a drawing title block with the sheet index.
Cover sheet.
Sheet SG-06: the pill buttons in default, hover, focus and disabled states, the website, ZIP and email fields with their error state, and the Meta and AI tabs, each dimensioned.
Pills, fields and tabs, in every state.
Sheet SG-07: the build checklist states, stat tiles, grade chips A to F as ink letters on light tints, and the category table, each with numbered callouts.
Reading the snapshot, part by part.

Four ways to document the system

Before settling the style guide, I tried four ways to write it down: a drawing set, a brand book, a component library, and the guide set out as a snapshot of itself. The final guide keeps the parts that worked from each, drawn as a spec sheet.

Style guide concept 1, the spec sheet: the snapshot's system drawn as a drawing set, with a title block, sheet index and dimensioned logo and palette.
Spec sheet.
Style guide concept 2, the editorial brand book: a cover on the studio's mauve-to-rust gradient with the headline See where you stand, in the feed and in AI answers.
Editorial brand book.
Style guide concept 3, the component library: a left rail of foundations, components and patterns beside the logo shown on stone, card and gradient.
Component library.
Style guide concept 4, the guide as a snapshot: stat tiles counting the system, a grade chip scoring it against its own rules, and tabs for colour, type and components.
The guide as a snapshot.