Live sandbox · pre-loaded with 12 sample conversations
Walk the Keytide workflow.Nothing leaves this page.
Every panel below is hooked to a real backend route and seeded with the same data the operator dashboard uses — but the routes are wired so any write attempt on a sample row returns a 409. Browse the messaging agent’s drafts, the pricing rules engine’s calendar, and the cleaning dispatch board without an account, without sending a single email, and without writing a single row. Add a sample cleaner to the sandbox roster and watch them plug into the auto-dispatch board below — still local to your browser.
Sandbox preview · read-only · no account required
Every number and message below comes from the seed data we ship with the app. Stays in this browser only — add a sample cleaner and watch it light up the dispatch board below. Nothing is sent to guests, no prices are persisted, no cleaners are reassigned in any real roster.
Messaging inbox
Watch a real-time response
How a draft appears: a guest writes, an agent replies.
Awaiting message…
Matched tone to welcoming + logistical need
No message sent · no row written · the operator still decides what goes out.
Pricing calendar
Cleaning dispatch
Sandbox roster
Try adding a cleaner or vendor
Add a sample cleaner with coverage on Aurora Loft — they’ll show up in the dispatch preview below as a brand-new ranked suggestion, on the same matcher the operator dashboard uses. Vendors are a contact list and don’t enter the dispatch ranking.
Add to the sandbox
Anything you add here stays in this browser only — no account, no row in a real database. After adding a cleaner, scroll to the dispatch preview below to watch them enter the auto-dispatch ranking.
Tip: leave Coverage on a single property to see one new suggestion bubble up there, or set it to All sample properties to see the cleaner rank everywhere.
Roster
Nothing here yet — add a cleaner above and they’ll show up in the dispatch preview at the bottom of this section.
Local to this browser only. Reset clears the sandbox roster and forgets it on next visit.

