All work
Case study · App platform

LYXUP: a multi-service booking platform, built by one engineer

Rides, limousines, stays and home services in one platform: a customer app, a partner app for drivers and providers, and an operations room for the team, all running on one API.

Pre-launch in Madrid · earlier web version live at lyxup.com
LYXUP app welcome screen artwork: a black car on a Madrid street at sunset
150
services in the catalogue, across 15 categories
375+
API routes behind the three apps
400+
automated tests on the API and the apps
34
pages in the operations room

The challenge

Booking platforms usually take a team of ten and a year or more: separate apps for customers and providers, a back office, payments that split money between parties, maps, chat and safety features.

LYXUP had to do all of that across many kinds of service, not just rides, while staying simple enough for one person to build, test and run.

Three apps, one API

Customer app icon

Customer app

Book rides and services, pay by card, follow the driver live, chat, share the trip and rate it. iOS, Android and web from one codebase.

Partner app icon

Partner app

Drivers, hosts and providers get jobs one at a time, navigate, update each trip step, see earnings and set up payouts.

Operations room icon

Operations room

The team manages bookings, matching, prices, commission, payouts, support, moderation and security from one web panel.

How it's built

Core API
Laravel 13 · PHP 8.3 · PostgreSQL

Split into domain modules (bookings, matching, payments, payouts, messaging, safety), with a queue worker and scheduled jobs for offers, matching, reconciliation and payouts.

Mobile apps
Expo SDK 57 · React Native · TypeScript

One codebase builds both the customer and the partner app, plus a web version, in five languages.

Operations room
Next.js 16 · React 19 · MUI

A fast admin panel that talks to the API through its own secure proxy.

Highlights

01

Fair driver matching

Ride offers go to one driver at a time, ranked by distance, fairness and priority, with limits per city and a limousine fallback.

02

Pricing the team controls

Per km and per minute, with night, peak, weekend and holiday windows and a price cap. Rides can be booked up to 7 days ahead.

03

Payments that protect everyone

The card is held when a booking is confirmed and charged when the job is done. Providers are paid out through Stripe Connect after a holding period.

04

Safety built in

Share-my-trip links that expire, a one-tap emergency call and an urgent alert straight to the support team.

05

Chat with voice notes

In-app messaging between customers and providers, with voice notes and moderation.

06

Community videos

Short video posts uploaded in chunks and re-encoded on the server with ffmpeg, with reporting and community rules.

Ride classes
Economy ride class car
Economy
Comfort ride class car
Comfort
XL ride class car
XL
Premium ride class car
Premium
The lyxup.com website

Where it started: lyxup.com

The first LYXUP is a web platform that's live today. It runs on Docker in Frankfurt with a PostgreSQL database and checks every change automatically before release.

  • 6 live services: rides, hotels, car rental, delivery, business and experiences
  • 17 interface languages, including Arabic and Hebrew right to left
  • 5 markets with their own currency
  • 255 regression tests run on every change
Visit lyxup.com
Tech stack
Laravel 13PHP 8.3PostgreSQLExpo SDK 57React NativeTypeScriptNext.js 16MUIStripe ConnectGoogle MapsWeb Pushffmpeg

Want a platform like this for your business?

LYXUP is the base for Nodik's booking app product: your brand, your prices and your customers, live in weeks.

See the booking app