1mn.ai docs
The loopsDogfooding

Dogfooding

Synthetic users — Cast personas — that drive your product in a real browser on a schedule, record what they hit, and feed a daily Ranger that turns recurring problems into tickets.

Dogfooding puts synthetic users on your product so your backlog never goes empty. You create one or more Cast personas — each a synthetic user with a testing prompt, a device, and its own memory — and 1mn runs them through your app in a real browser on a schedule. Every session records a video and a worked / broke / missing report; a daily Dogfooding Ranger reads across all the sessions and turns recurring problems into tickets you can act on.

You manage all of this from the Dogfooding tab in the dashboard.

The daily cycle

Dogfooding is three loops working together, so no single agent both drives the browser and decides what's ticket-worthy:

  1. The scheduler wakes (once per day, on the cadence you set) and starts one session per active persona. It doesn't browse anything itself — it just fans the personas out.
  2. Each Cast session runs independently: the persona reads your app from source (when a repo is connected), drives Chromium via Playwright toward one concrete goal, records the whole run to one video, and saves a report plus structured observations. A session never files a ticket — see How a session works.
  3. The Dogfooding Ranger runs daily over the completed sessions. It clusters the observations across personas and days, keeps recurring problems (and discards one-off noise), and files evidence-backed tickets — flagged as synthetic. It's the Discovery Ranger for the dogfooding source.

Read-only, and aimed at staging

Cast sessions use your product; they never change it — no code, no commits, no tickets of their own. Because they drive a real browser (they click, type, and submit for real), aim them at a staging URL with a throwaway account, never production.

Point Cast at staging

Set the persona's Target URL to staging and give it a throwaway test account for flows that need a login. Credentials are encrypted at rest, decrypted server-side only, and never printed, logged, or shown in the recording.

What you get back

A findings report

Worked / broke / missing, each tied to a specific screen and action — no mood, no review-speak.

A session video

The full browser run, recorded — so you can see exactly what the persona saw.

Evolving memory

Each persona remembers past visits and re-checks whether last time's issues were fixed.

Tickets from the Ranger

Recurring, corroborated problems become tickets on your board, marked as synthetic evidence.

A paid feature

Dogfooding runs on your subscription. Sessions themselves don't consume credits — they're covered by the subscription, like chat and scheduled routines. If you create or run a persona on an unsubscribed workspace, the first run opens a checkout; the session starts automatically once payment clears. After that, personas wake on their own cadence.

Where it fits

Dogfooding is one of 1mn's three browser loops. The difference is who aims it:

LoopAimed byOutput lands
Dogfooding / CastA persona pursuing its own goal, on a scheduleSession feedback + Ranger tickets
QAYou, per ticket, in free textOn that ticket
Story QARepo changes — it re-verifies inventoried feature storiesA finding ticket on failure/friction

It's also the synthetic counterpart to the Recordings Reviewer: Cast drives your app as a synthetic user, the Recordings Reviewer watches your real ones.

On this page