Case Study  /  006Shipped · 2025-2026

Let's Go Car Rentals

Car Rental Platform — Economy to Exotic, Dubai Fleet, Admin & Booking Flow.

Year2025-2026
RoleFull Stack Engineer
Duration3 months
Stack7 tech
Visit Live
Let's Go Car Rentals cover
01

Context

Full-stack car rental platform for a Dubai operator with 200+ vehicles spanning economy, luxury, and exotic tiers — from daily commuters to Ferrari, Lamborghini, and Rolls-Royce. Customers filter by brand, category, and price, review full specs and photo galleries on per-car detail pages, and submit structured booking requests with date-based price calculation. Admin panel handles full inventory management with multi-image uploads and a blog CMS, all backed by Supabase with middleware-protected routes.

02

The Challenge

Let's Go is a Dubai luxury car rental operator with an exotic and premium fleet spanning Ferrari, Lamborghini, Rolls-Royce, Bentley, Porsche, and 25+ other brands. Before the platform, the full fleet had no structured online presence — customers who found the business through referrals or social media still had to enquire via WhatsApp to see what was available, get pricing, or understand specs. Every booking conversation started from scratch: no pre-qualification, no price context, no visibility into which car the customer actually wanted. The 150+ vehicle inventory was invisible to the organic search demand that exists in Dubai for luxury car rentals by brand and category.

03

Approach

The platform was built to move the discovery and qualification work that was happening over WhatsApp onto a structured public site. If a customer wants to rent a Lamborghini Urus for three days, they should be able to find it, see every spec and photo, calculate the cost for their dates, and submit a complete booking brief — before any human is involved. Ops then receives a single formatted email with everything needed to confirm the reservation. The admin panel handles fleet updates and blog publishing without requiring developer involvement, so the inventory stays current as vehicles are added or rotated.

04

Key Decisions

  1. Per-brand fleet architecture as an SEO and UX strategy

    Each of 30+ manufacturers gets its own slug-based listing page with metadata, structured data, and filtered inventory. This serves two purposes: customers who already know they want a Ferrari or a Rolls-Royce land on a focused page rather than a diluted catalogue, and the platform captures organic search intent for brand-specific queries ('Ferrari rental Dubai', 'Lamborghini hire Dubai') that convert at higher rates than generic 'luxury car rental' searches.

  2. Date-based price calculation before form submission

    The booking form on each car detail page computes total cost in real time — daily rate × rental days — as soon as the customer selects their dates. Customers arrive at the submission step knowing exactly what they're committing to. This eliminates the most common friction in the WhatsApp flow: the customer asks for a price, ops responds hours later, the customer has moved on. With price transparency at the point of intent, the booking brief ops receives is from a customer who has already decided.

  3. Atomic car management with multi-image stored functions

    Adding or editing a vehicle with multiple photos is a single database operation via a Supabase stored function (upsert_car_with_images) that handles the car record and its image set atomically. This prevents partial states — a car record without images, or orphaned images without a car — and makes the admin form reliable for non-technical staff managing a fleet that rotates frequently.

  4. Email-first booking flow matched to how UAE operators close

    Payment-gating a luxury car rental before a human confirmation adds friction without adding value — the operator needs to verify the customer's licence, confirm delivery details, and assess deposit before accepting the booking. The form sends a complete brief (car model, rental dates, calculated total, customer name and phone) to the operations team via Nodemailer. GTM tracks the full funnel from detail page view through form submission so the business can measure which brands and categories are generating the most booking intent.

05

What Shipped

  • 01Fleet of 200+ vehicles across economy, luxury, and exotic tiers — filterable by brand, category, price, and specs
  • 02Per-brand SEO pages for 30+ manufacturers (Ferrari, Lamborghini, Rolls-Royce, Bentley, Porsche, and more) — each with its own metadata and structured data
  • 03Booking form with real-time date-based price calculation — routes a complete brief (car, dates, total price, customer contact) to ops by email
  • 04Admin car management: full CRUD with multi-image uploads to Supabase storage via atomic stored functions
  • 05Blog CMS with WYSIWYG editor, slug management, and featured image uploads — publishable without developer involvement
  • 06Supabase auth with middleware protection on all admin routes — inventory and content managed from a secured panel
06

Outcomes

  • 01Full fleet of 150+ luxury and exotic vehicles discoverable online with specs, photography, and transparent pricing — no enquiry call required to see what's available.
  • 02Booking intake is now structured — ops receives car, dates, calculated price, and customer contact in one email rather than building it up over a WhatsApp thread.
  • 03Per-brand SEO pages create organic discovery for specific luxury car rental queries across 30+ manufacturers in Dubai.
  • 04Admin panel handles fleet updates and blog publishing without developer involvement — inventory stays current as vehicles are added or rotated.
07

Stack

Next.jsTypeScriptSupabasePostgreSQLTailwind CSSFramer MotionNodemailer