← cd ../work

case 01 · travel / rental

Car rental platform, Thailand

Two brands on one booking engine and admin — a new city is configuration, not a new project.

role
Architecture · full-stack · SEO lead
timeline
in progress
stack
nuxt 4 · express · mariadb · quasar pwa · docker
https://thailandrentalcars.com
Screenshot of Car rental platform, Thailand

Problem

Two rental brands (thailandrentalcars.com and phuketcarrentals.com) needed one reliable booking system — without forking the code for every new city.

Approach

A multi-site architecture: one Node.js (Express) backend, a Quasar admin (PWA) and two Nuxt 4 storefronts, all in Docker — with a transactional booking and payment flow and SEO planned from day one.

  • thailandrentalcars.com
  • phuketcarrentals.com
  • Quasar admin (PWA)
Shared booking core
Node.js (Express) · booking engine · API
  • MariaDB
  • Docker
  1. D1

    One backend, many storefronts

    A shared backend and admin panel serve two independent Nuxt 4 frontends, so expanding to a new city does not duplicate the core system.

  2. D2

    Transactional booking and payment

    Authorization, owner confirmation and payment capture as one flow, with idempotency and double-booking protection.

  3. D3

    SEO as part of engineering

    I own SEO and the launch strategy alongside the product work and lead the content manager.

2 → 1
frontends on one backend
5
bookings