Urban Limo marketplace illustration

Full-Stack Marketplace

Urban Limo — Luxury Transportation Marketplace

CategoryFull-Stack Marketplace
Tech StackFastAPI, React, TypeScript, PostgreSQL (RDS), AWS ECS
RoleSolo Developer — Design to Deployment
StatusLive on QA, preparing for production launch
Go to App

Project description

End-to-end marketplace connecting customers with professional chauffeur drivers for scheduled luxury transportation — airport transfers, hourly charters, and multi-day bookings. Pull-based job marketplace where drivers claim rides matching their vehicle and availability.

Key features

  • Full booking lifecycle — quoting, payment capture, driver matching, trip tracking, and completion
  • Dynamic pricing engine with rate cards, peak/weekend/holiday surcharges, and addon pricing
  • Stripe integration — checkout sessions, capture/void, post-trip extra charges, and Stripe Connect for driver payouts
  • Customer portal — booking flow, real-time quotes, trip management, Stripe-secured payments
  • Driver portal — job feed, claim system, document upload & verification, strike & compliance management
  • Admin dashboard — driver management, booking oversight, rate card & addon configuration, audit logging, finance & dispute tracking
  • Role-based auth with JWT, Twilio SMS OTP, and admin RBAC
  • Celery async workers for notifications, webhooks, and background jobs

Architecture & DevOps

FastAPI backend (async SQLAlchemy + Alembic migrations) runs on AWS ECS Fargate (ap-southeast-1), with a React + TypeScript + Tailwind frontend deployed on AWS Amplify. Database migrated from RDS to Neon Serverless Postgres and Redis migrated from ElastiCache to Upstash Redis, both for cost optimization. Celery workers run on ECS Fargate using Upstash as broker/backend for async jobs, S3 handles document storage, Stripe checkout + Stripe Connect handle payments and driver payouts, and auth is JWT + Twilio SMS OTP.

CloudFront now sits in front of the stack in place of an ALB, cutting cost while adding CDN caching, with Route53 and a Lambda function handling dynamic DNS updates as ECS tasks cycle. These changes — CloudFront over ALB, Neon over RDS, Upstash over ElastiCache — brought monthly infra cost down from ~$98/mo to ~$33/mo without touching the app layer.