E-motion
Racing experience platform for booking simulator sessions, managing packs and subscriptions, and delivering a smooth online journey for motorsport fans.

- Next.js
- React
- TypeScript
- NestJS
- Datadog
Context
E-motion runs racing simulator centres and needed to move bookings, session packs, and subscriptions off spreadsheets and phone calls onto a self-service platform its customers could use from a phone.
The challenge
Simulator slots are a scarce resource: two people must never end up on the same rig at the same time, and pack credits have to stay consistent even when a booking is cancelled or moved. The booking flow also had to stay fast on mobile, where most sessions are actually reserved.
What I built
- Built the customer-facing booking journey in Next.js and React with TypeScript end to end, from slot selection through to confirmation.
- Designed the NestJS API around sessions, packs, and subscriptions, keeping credit accounting and availability in one authoritative place.
- Modelled availability so concurrent bookings cannot double-allocate the same simulator slot.
- Instrumented the platform with Datadog so booking errors and slow endpoints surface before customers report them.
- Tuned the front end for Core Web Vitals: server rendering, image optimisation, and a booking flow that stays responsive on mobile networks.
Outcome
Customers book, renew, and manage their own sessions online, and the team gets a single view of availability and revenue instead of reconciling bookings by hand.