Technology Stack
Next.js (App Router), TypeScript, Tailwind CSS, React Server Components, Auth.js, Prisma, PostgreSQL, Cloudinary, Google Maps API, Vercel
Overview
Duration: 7/2024 - ongoing
A car rental platform built for a Ho Chi Minh City operator, live on their own domain. The customer books a vehicle for business or leisure travel; the operator runs their fleet, pricing, and reservations from the same system.
The market shapes the product more than the technology does. Most traffic is mobile, often on variable connections, and most bookings are decided in a few minutes — so the entire flow is built to reach a confirmed reservation in three steps without a customer account, and the vehicle imagery that sells the booking is optimised aggressively enough to load before the visitor loses patience.
Fleet Catalogue
- Structured vehicle records with full specifications and high-quality imagery, served through a transformation CDN so the same source photo delivers correctly sized to every device
- Category filtering by vehicle type — sedan, SUV, luxury, van — with the filters that customers actually use rather than every field in the schema
- Availability by date — the calendar reflects real reservations, so a customer never selects a vehicle that is already out
- Duration and seasonal pricing — rates driven by rental length and period rather than a flat daily figure
- Side-by-side comparison so a customer choosing between two vehicles does not have to hold both in their head
Booking Flow
- Three steps to confirmation, ordered so the customer commits progressively and the highest-friction field comes last
- Pickup and return scheduling with flexible times
- Location selection through Google Maps, for pickup and drop-off points that customers can actually identify
- Add-on services — insurance, GPS, child seats, additional drivers — presented as an upsell at the right moment rather than as a wall of checkboxes up front
- Mobile-first checkout, since that is where the bookings come from
- Automated confirmations by email and SMS, plus reminders before the pickup date
- Self-service management — customers view, modify, or cancel a reservation without phoning the office, which is the single biggest reduction in operator workload
Operator Dashboard
- Fleet management — vehicles, specifications, imagery, and availability
- Reservation management across the full lifecycle
- Pricing and promotions — rate rules and discount codes editable without a developer
- Customer records with booking history
- Document handling — digital capture and verification of driving licences and identification
- Reporting on booking patterns, vehicle utilisation, and revenue
Technical Implementation
- Server Components throughout — the catalogue and detail pages render on the server, which is what keeps them fast on mobile connections and indexable for local search, the primary acquisition channel for this business
- Prisma over PostgreSQL with a normalised schema, so availability and pricing can be queried correctly rather than reconstructed in application code
- Cloudinary for automatic image resizing, format negotiation, and delivery
- Role-based access control separating customer, staff, and administrator capability
- Bilingual interface — Vietnamese and English through an extensible translation layer
- Caching on the read-heavy paths so the catalogue does not hit the database on every visit
This project demonstrates delivering a complete, revenue-carrying business system for a specific local market — not a template adapted to a client, but a booking flow, a pricing model, and an operations dashboard shaped around how this business actually runs.