Working proof of concept · early access opening

Your product ships weekly. Your screenshots ship never.

ScreenshotHotDog walks your real user flows, gives every step a permanent URL that always serves the current screenshot, and tells you when the shape of the flow changes.

  • No LLM in the nightly loop
  • Byte-identical captures
  • Only runs against sites you own
The ScreenshotHotDog mascot, grinning and holding up a phone.
acme.app / flows / event-create
1 Open dashboard
step-1.png · rank 0
same
2 Click “New event”
step-2.png · rank 0
cta_renamed
3 Choose a template
step-3.png · rank 0
step_added
4 Set date & time
step-4.png · rank 0
same
The bit nobody owns

Documentation rots quietly.

Nobody files a ticket saying the screenshot on page twelve is four releases out of date. They just trust the docs slightly less, every month, forever.

The screenshots are lying

Your onboarding flow gained a step in March. The docs still show February. Support answers drift to match the docs, not the product.

Nobody holds the whole product

Ask five people what’s in the signup flow this month and you’ll get five answers, all confident, none complete.

Old tools re-shoot a list

Existing screenshot automation recaptures the shots a human defined once. Add a step and it will capture all the old ones, beautifully.

How it works

Describe it once. It keeps itself honest.

Three steps, and then you go back to your actual job.

Say it like a human

Type “the event creation flow”. No selectors, no test scripts, no recording your screen while narrating. Plain English is the whole input.

Frank goes for a walk

A browser agent explores the flow, finds every step, and compiles what it saw into a deterministic script — a ranked list of anchors per step, not a brittle CSS selector. Then the agent leaves.

It re-walks every night

Pure Playwright. No model in the loop, so no drift and no surprise bill. The same bytes come out tonight as last night — unless your product actually changed.

The feature that does the work

One URL. Paste it once. Never touch it again.

Every step of every flow gets a permanent address. It isn’t a file you exported and will forget to re-export — it’s a promise we re-honour every night.

Drop it in your docs, your README, your Notion page, your help centre. Nothing in your workflow changes. The image just stops being wrong.

Permanent URL
https://cdn.screenshothotdog.com/s/acme/event-create/step-4.png
In your docs
![Set the date and time](https://cdn.screenshothotdog.com/s/acme/event-create/step-4.png)
Flow-shape intelligence

It tells you what changed. In words.

We diff the accessibility tree and the step graph, not the pixels. So a change arrives as a sentence you can act on, not a red blob on an image.

  • step_added
  • step_removed
  • step_reordered
  • branch_introduced
  • dead_end
  • path_shortened
  • auth_wall_moved
  • field_added
  • field_removed
  • label_changed
  • cta_renamed

A renamed button is one event

Rename “Create event” to “New event” and you get a single cta_renamed — not a step_removed plus a step_added. That step also keeps its permanent URL, so nothing in your docs breaks.

It’s a small distinction that decides everything: it’s the difference between an alert your team reads and an alert your team mutes in week two.

Pixel alerts are off by default

Naive pixel diffing fires on a rotating avatar, a relative timestamp, a font-rendering update. One hundred percent false positives, muted by Wednesday, and then you’re paying for a dead product.

So pixel diffing exists, and it stays quiet. The structural diff is the one that’s allowed to be loud.

Determinism is the product

A wrong screenshot is worse than no screenshot.

Pinned viewport, DPR, locale, timezone and fonts. Frozen clock, seeded randomness, animations killed, third-party widgets blocked, cookie banners declined. Every capture taken twice and hash-compared.

12/12steps replayed, every anchor resolving at rank 0
consecutive runs, byte-identical
0.029pcost per replay
0model calls in the replay loop

Measured on our seven-page fixture site, with a deliberately ticking clock on every page. These are our own engineering numbers, not a customer benchmark — we’ll publish customer numbers when we have customers.

Who it’s for

Built for the people who find out last.

Technical writers

Stop re-shooting the same forty images every release. Paste a URL, and the page you wrote in January is still accurate in November.

Product ops & QA

A nightly, structural answer to “did anything about this journey change, and was it on purpose?” — without owning another test suite.

Support & CS

Macros and help-centre articles that show the product as it is today, so you stop apologising for your own screenshots.

No mystery

Where this actually is right now.

We’d rather tell you than have you find out on day three. Here is the honest state of the thing.

Runs today ✅

  • Flow discovery from a plain-English description
  • Deterministic replay with no model in the loop
  • Permanent URL per step
  • Structural diffing between versions
  • Markdown export with the URLs embedded

Building now 🚧

  • Hosted dashboard and scheduled nightly runs
  • Authenticated flows and credential handling
  • Slack alerts and a GitHub PR bot
  • Annotated, shareable timeline pages

Next up 🔜

  • Self-hosted runner — credentials never leave your network
  • Docs-platform integrations
  • SSO and an SLA
Pricing

Priced per flow, not per seat.

Invite the whole docs team. We charge for what we run, not for who reads it.

Free
£0

Public pages only. Kick the tyres, no card.

  • 3 public flows
  • Weekly re-walks
  • Watermarked images
Start free
Starter
£149/mo

For a docs team that’s tired of re-shooting.

  • 10 flows
  • Authenticated flows
  • Daily re-walks
  • Permanent URLs
  • Markdown export
Get early access
Most teams
Team
£449/mo

When someone other than docs starts caring.

  • 40 flows
  • Structural change alerts
  • Self-hosted runner
  • GitHub PR bot
  • Slack integration
Get early access
Business
£1,200/mo

Bigger surface area, procurement-shaped needs.

  • 150 flows
  • SSO
  • SLA
  • Priority support
Talk to us

Annual billing gets you two months free. Prices in GBP, excluding VAT. Flows are counted per project, and you can move them around whenever you like.

Questions

The ones people actually ask.

Does it work behind a login?
Yes, on Starter and up. You give a project a set of credentials, we encrypt them at rest, and they’re never logged and never sent to a model. On the Team plan you can run the self-hosted runner instead, and the credentials never leave your network at all.
Will it click something destructive?
No. Destructive actions are blocked at the browser layer — that’s a safety rail in code, not a setting you can toggle off. Discovery also runs under a budget cap, so an agent can’t wander off and explore your entire admin panel at your expense.
Can I point it at a competitor’s product?
No, and we’d rather say that plainly. The paid product only runs against properties you own or are authorised to test, enforced by a per-project domain allowlist in code as well as in the terms. The free tool is limited to public, unauthenticated pages, honours robots.txt, rate-limits politely, and has a takedown path.
My staging environment is a disaster. Is that a problem?
It’s the normal case, so no. Running against production with a dedicated test account is a first-class option, not a workaround. And public flows — marketing site, signup, pricing — need no credentials at all.
Is this just visual regression testing?
No. Visual regression testing compares images and tells you pixels moved. We compare the accessibility tree and the step graph, and tell you a step was added or a call to action was renamed. The screenshot is the artefact; the flow graph is the point.
Can I use it today?
Not yet. The engine runs end to end — discovery, deterministic replay, permanent URLs, structural diffs — but the hosted product is still being built. Early access is opening to a small first group; if you’ve got a docs site that’s quietly out of date, we’d genuinely like to hear from you.

Let’s find out what your docs are hiding.

Early access is opening to a small first group of teams. Tell us what product you’d point it at and we’ll get you in.