Outdoor excursion booking · Mauritius · 2024
Lokal Adventure
Design & full-stack development
- Ruby on Rails
- Hotwire
- PostgreSQL
- AWS S3
- Heroku
- React Native

The context
Lokal Adventure shows visitors Mauritius "away from the tourist attractions": kayaking with dolphins in Tamarin Bay, canyoning at the 7 Cascades, an outrigger canoe in the Mahébourg lagoon, hiking Le Morne, sunset paddle. Small-group outings led by local guides, organised into themes: the sea, trail running, wellbeing, cultural immersion.
What looks like a simple store hides a real mechanism: each excursion has its dates, a limited number of seats, a minimum age, a level, a meeting point, sometimes gear to rent. And part of the customers come through partners who resell the outings.
The challenge
The first site ran on WordPress and WooCommerce, a store built to sell objects, not seats on a 6 a.m. kayak trip. Dates, postponements when the weather turns, and partner tracking fitted poorly into that mould.
The business needed a tool built for the job: sell a seat on a specific slot, know at any time who is coming on which day, and let partners sell without losing control of the schedule.
My answer
- A mobile first step: a React Native app for the team and partners, plugged into the old store. It shows upcoming excursions day by day and the orders, and lets the team postpone an outing or close a date in two taps from the field.
- Then a custom Ruby on Rails platform (Hotwire, PostgreSQL) that replaced WordPress: activities, dated sessions, participants, orders and order lines.
- An excursion page that answers everything before booking: level, minimum age, duration and times, group size, meeting point, a checklist of what to bring, gear provided, cancellation conditions (rain, minimum participants).
- A calendar that shows remaining seats under each date: the customer picks a day and a number of participants, then adds to the cart.
- Gear rental built into the cart, online payment and invoices generated automatically.
- Partner distribution: each partner has an account, its availability and its own list of excursions (with per-product exclusions), to sell beyond the site.
- Safety: a risk waiver form to fill in before the outing.
- French and English, photos stored and compressed on AWS S3, a WhatsApp button on every page, the most natural contact channel on the island.

The result
A complete booking engine that sells directly and through a partner network, while the team keeps control of the whole schedule. It is the foundation of what I now build for surf, kitesurf and outdoor schools: slots, seats, gear, a payment, and customers who know exactly what to expect before they book.
Running outings, lessons or camps? See what I offer water sports and outdoor schools.