
Sporting Escapes Group
A specialist sports-travel group running on a 42-entity CRM with its own in-house AI copywriter.
Eight travel brand sites, a staff CRM and a customer portal running out of one React app — the brand is resolved from the hostname at runtime, and every captured lead carries the group/brand pair it came in under. The portal writes local-first: mutations update in memory, queue in localStorage, and drain to Base44 when live mode is on, with an idempotency key on anything that moves money. A separate Node crawler pulls partner offers into a review inbox and refuses to touch a source that has no recorded authorisation.
Open the live appData entities
42
What makes it work
- One bundle, eight brands: hostname resolves the groupId/brandId pair, with a parity test that every valid pair exists in both the site map and the portal config
- The offline write queue's storage key was deliberately bumped v1 to v2 — draining the old one would have replayed months of stale lead patches onto live records
- The crawler will not run a source unless it is marked written- or verbal-authorised, and every offer it submits is forced to status 'inbox' for a human to rewrite
The Vault
You've seen the apps. Take the prompts.
Anyone can describe an app to an AI and get something back. The difference is in the structure — and the structure is what's written down in here.
Every build prompt on this page
Full text, not summaries. Copy and run.
150 production Claude skills
Installed, organised, documented.
Weekly drops
New prompts and skills, with the reasoning behind them.
Office hours
Bring a build that is stuck. Leave with it working.
The scaffold and the method
How the prompts are structured, so you can write your own.
Cancel any time. Or read the free prompts first — they're the same standard as the paid ones, which is rather the point.