
MOJO promo journeys,
rebuilt
A pixel-informed React & Next.js recreation of the current MOJO Family of Brands promo flows. Every step is real UI — no submission, no barcode, no payment ever leaves this browser.
This is a design / QA lab. It does not submit any MOJO form, issue vouchers, accept card data, or contact any production server. Barcodes and success screens are simulated.
FREE
Wash on Us
Location → customer details → simulated barcode. Two required consents. No SMS sent.
- 1Pick a PitStop
- 2Enter name + phone
- 3Agree to Terms & marketing
- 4See simulated success
$2 OFF
a Wash
Location → wash tier → phone-only capture with consents → simulated barcode. Multi-brand list with search.
- 1Pick a location
- 2Choose a wash tier
- 3Enter phone + consents
- 4See simulated success
$25/mo
Protect Membership
Location → inert checkout preview with customer, vehicle, and payment fields. Payment CTA is disabled.
- 1Pick a Today's location
- 2Review checkout fields
- 3Payment CTA disabled
$10 OFF
LuLu's Car Wash
Fully brand-themed LuLu's flow — red / blue / yellow palette, Exo type, diagonal hero. Location → wash tier → phone + consents.
- 1Pick a LuLu's location
- 2Choose a wash tier
- 3Enter phone + consents
- 4See simulated success
$10 OFF
Coastal Carwash
Fully brand-themed Coastal flow — ocean navy / sky-blue palette, Arimo type, wave hero. Location → wash tier → phone + consents.
- 1Pick a Coastal location
- 2Choose a wash tier
- 3Enter phone + consents
- 4See simulated success
Real components
Location picker, tier picker, and consent block are shared primitives — not mocked cards.
Real validation
Required fields, disabled CTAs until consents are checked, and per-field error hints.
No live wire
No fetches, no server actions, no Nautilus embed. Only local state and simulated success.