A booking request is a promise: when a customer asks for nine passengers at 2:00 PM, the business has to receive exactly that. We built CleRoyale a booking platform that keeps that promise — across web and mobile.
The challenge
CleRoyale needed a fast booking experience on both web and native apps. The existing quote form was quietly recording the wrong details, and several database tables had shipped with security switched off — leaving customer names, emails, and phone numbers exposed.
What we did
- Built a Next.js and Supabase web platform on Vercel, plus a companion iOS and Android app sharing one backend.
- Replaced the buggy native form inputs with a purpose-built time and passenger selector, ending a class of wrong-detail errors.
- Enabled row-level security across every exposed table and verified customer data was locked down.
- Added automatic source attribution and a honeypot spam filter so the team only sees real requests.
The results
- The quote form now records exactly what customers request — the error class was engineered out, not patched.
- Lead data is protected, with security verified closed on every previously exposed table.
- 316 real booking requests flowed through the platform in about ten weeks, with the mobile app already driving around 10% of them.
- Spam is filtered automatically, and every release ships behind an automated test suite.



