Taouafi Rent Car — Fullstack Luxury Vehicle Rental Platform (Next.js + NestJS)
A premium car rental platform for luxury and exotic vehicles in Marrakech, Morocco. Built by senior fullstack developer Hamza Miloud Amar with Next.js, NestJS, PostgreSQL, and Drizzle ORM.

Overview
Taouafi Rent Car is a fullstack luxury vehicle rental platform I architected and built as a senior fullstack developer for a premium car rental company in Marrakech, Morocco. The platform handles everything from vehicle discovery and real-time availability to booking management, payment processing, and fleet administration — all optimized for high-end clientele seeking luxury SUVs, exotic sports cars, and chauffeur services.
The Problem
The client operated successfully offline but faced growth limitations:
- No online presence — Potential customers couldn't discover or book vehicles digitally
- Manual booking process — Phone/email only, leading to double-bookings and lost revenue
- No fleet visibility — Customers couldn't browse available vehicles, specs, or pricing
- Missed airport delivery market — High-value tourists arriving at Marrakech Menara Airport had no way to pre-book
- Competitor disadvantage — Other rental companies had modern booking platforms
My Role
I served as the lead senior fullstack developer, handling:
- Complete system architecture and database design
- Frontend development with Next.js and Pillar UI
- Backend API development with NestJS
- PostgreSQL database modeling with Drizzle ORM
- Payment integration and booking workflow logic
- SEO optimization for local Marrakech car rental searches
- Deployment and server configuration
Technical Architecture
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 14 (App Router) | SSR/SSG for SEO, image optimization |
| UI Library | Pillar UI | Consistent, accessible component system |
| Styling | CSS Modules + CSS Variables | Custom theming for luxury brand feel |
| Backend | NestJS | Modular, scalable REST API architecture |
| Database | PostgreSQL | Relational data for bookings, vehicles, users |
| ORM | Drizzle ORM | Type-safe database queries and migrations |
| Auth | NextAuth.js | Secure authentication with role-based access |
| Payments | Stripe | Secure online payment processing |
| Search | PostgreSQL Full-Text | Vehicle search and filtering |
| Deployment | Vercel + Railway | Frontend and backend separation |
Booking Flow
- Browse Fleet — Filter by category (Luxury, SUV, Sports, Economy), price, and features
- Select Vehicle — View HD gallery, specifications, pricing, and availability calendar
- Choose Dates & Location — Pickup/drop-off with airport delivery option
- Add Extras — Chauffeur service, GPS, child seats, additional drivers
- Secure Payment — Stripe checkout with multi-currency support (MAD, EUR, USD)
- Confirmation — Instant email/SMS confirmation with booking details
- Manage Booking — Customer dashboard for modifications and cancellations
Key Features
- Real-Time Availability — Live calendar preventing double-bookings
- Dynamic Pricing — Seasonal rates, weekend premiums, and early-bird discounts
- Multi-Language — Arabic, French, English for international tourists
- Airport Delivery — Dedicated Marrakech Menara Airport pickup service
- Chauffeur Add-On — Professional driver booking integrated into flow
- Admin Dashboard — Fleet management, booking overview, revenue analytics
- SEO-Optimized — Ranks for "luxury car rental Marrakech," "SUV rental Morocco," etc.
Challenges & Solutions
Challenge 1: Real-Time Availability with Concurrent Bookings
Multiple users could attempt to book the same vehicle simultaneously. I solved this with:
- Pessimistic locking at the database level during checkout
- Reservation holds (15-minute window) during payment
- Atomic transactions in Drizzle ORM to prevent race conditions
Challenge 2: Local SEO for Competitive Market
Marrakech car rental is highly competitive. I implemented:
- Localized content in French and Arabic
- Schema.org structured data for vehicle listings
- Google Business Profile integration for local pack rankings
- Performance optimization (Core Web Vitals) for ranking signals
Challenge 3: Luxury Brand Experience
The site needed to feel premium. I designed:
- Dark, cinematic aesthetic with gold accents
- High-resolution vehicle galleries with zoom and 360° views
- Smooth page transitions using Next.js App Router
- Minimal UI chrome to let the vehicles shine
Results & Impact
- Increased booking volume by 300% in first 6 months
- Reduced manual coordination — 90% of bookings now self-service
- Higher average order value through upsells (chauffeur, extras)
- Top 3 Google ranking for "luxury car rental Marrakech"
- Expanded to Casablanca and Agadir markets
Testimonial
"Hamza didn't just build us a website — he built a complete booking engine that transformed our business. Our customers love how easy it is to book, and we love how it runs itself." — Taouafi Rent Car Management
Need a booking platform or e-commerce site for your business? Contact me to discuss your project.