Cast personas
Create and steer synthetic users — each with a testing prompt (or backstory), a focus area, a device, a target URL, and an optional throwaway login — and set the schedule they run on.
A Cast persona is a synthetic user with a point of view. It's the unit you create and manage on the Dogfooding tab: give it an instruction for how to test, point it at your app, and it runs on a schedule, building on its own memory each visit. This page covers creating one, the fields you can set, and running one on demand.
Prerequisites
- A subscription (or the bring-your-own-Claude bypass) — the first persona run on an unsubscribed workspace opens checkout.
- A staging URL and a throwaway test account for any flow that needs a login. Never point a persona at production.
- Optionally, a connected GitHub repo — when set, the persona reads your app's routes from source so it goes straight to the relevant screens instead of wandering.
Create a persona
-
On the Dogfooding tab, click Create a persona.
-
Write a Testing prompt — a plain-language instruction for how the persona behaves as a tester. You can start from a scenario template (chips above the box) and edit it, or write your own. The default is an onboarding run:
Act like a brand-new user of this product. Start at the real entry point in a clean session with no saved login, site data, or remembered route, and complete onboarding using only the visible guidance. Pursue the first real goal a new user would have. Record every obstacle, confusing moment, and bug you hit, each tied to the specific screen and action, and report what worked, what broke, and what's missing — with evidence.
The prompt defines what to test and how to behave — the persona always reports findings only; it never changes data or pays.
-
Open Advanced (optional) to override the defaults (desktop, your product website, no login):
- Device — Desktop (default) or Mobile. Mobile runs a phone-sized, touch-enabled viewport, and the persona judges the run on mobile terms.
- Target URL — defaults to your product website; set it to staging.
- Login (optional) — login instructions plus a throwaway test account for flows that need one.
-
Save. On an active subscription the persona's first session starts immediately; unsubscribed, you get a checkout and the session starts once it clears.
Scenario templates
Each chip pre-fills a proven testing prompt you can then edit:
| Template | What the persona does |
|---|---|
| Signup & onboarding | Starts clean, completes onboarding using only visible guidance, pursues a new user's first goal. |
| Checkout & discount | Reaches pricing/checkout, picks a paid plan, tries a promo code — and stops before money is actually charged. |
| Core feature & first value | Uses the core feature end-to-end to reach one meaningful outcome, and judges how fast it hit the "aha" moment. |
| Mobile experience | Runs the key flows one-handed on a small touch screen, watching for cramped layouts and tap targets. (Also switch Device to Mobile.) |
| Settings & dead ends | Pokes through settings and secondary pages hunting for buttons that do nothing, broken links, and flows you can't finish. |
Edit a persona
Pick a persona and click Edit. Changes apply from its next session on. The fields depend on the persona's shape:
- Prompt-based personas carry a single Prompt — the one instruction that defines how they test. Edit the wording to steer it.
- Backstory-based personas instead carry:
- Backstory — their situation and the problem that brings them here.
- Personality (optional) — traits that color their tone, e.g.
impatient, detail-oriented, skeptical. - Focus area (optional) — where they concentrate their testing and feedback, e.g.
onboarding flow,landing page & value prop,design. Leave blank to explore the whole product.
Both shapes also let you set the Label (the name shown in the persona and session lists), Device, Target URL, and Login.
Run a persona on demand (directed session)
Beyond the schedule, you can send a persona in right now with one-off direction:
- On a persona, choose Run with instructions.
- Answer "What should this visit focus on or test?" — e.g. "test the checkout flow and try a discount code."
The instructions steer this session only and don't change who the persona is or what it remembers. This is how you re-check a specific fix or push on one area without editing the persona.
Set the schedule
The Scheduled cast runs every active persona on a shared cadence. Open Dogfooding schedule to:
- Pause / resume scheduled casts.
- Set the cadence in days (how often the round runs).
- Set the scheduled hour it runs at.
The panel also shows the last run's decision and when the next one is due. Disabled personas are skipped; a paused schedule stops the automatic rounds but you can still Run with instructions by hand.
Notes & limits
- Findings-only, always. A persona reports what it sees; it never changes data, submits real payments, or files tickets. Recurring problems become tickets via the Dogfooding Ranger, not the session.
- Credentials stay hidden. The throwaway login is encrypted at rest, decrypted server-side only, and never printed, logged, or shown in the recording.
- Memory is per persona. Each persona builds on its own past visits; editing the prompt or backstory changes future behavior but doesn't erase memory.
- Test users are hidden from your metrics. Persona traffic runs under test accounts; the Users directory hides it by default so your numbers reflect real people.
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.
How a session works
What one Cast persona does in a single run — becomes the persona, reads your app from source, drives a real browser toward a goal, records one video, and saves findings plus updated memory.