The sharing economy has given rise to a wave of new online multi-sided marketplace apps and business models, where consumers and sellers are matched across a unique, differentiated set of products and services. In this series, we will explore the applications, domains, and software subsystems applicable to a wide variety of transportation use cases – from restaurant and grocery delivery (e.g. DoorDash, Instacart), to taxi and rideshare services (e.g. Uber, Lyft), to third-party deliveries and shipments (e.g. Shipt, Convoy, Uber Freight).

Specifically, we will design a three-sided gig-economy marketplace and transportation software platform that matches:

  • Customers, making purchases and requesting rides
  • Third-party vendors, including merchants and taxi services
  • Gig-economy drivers, delivering goods and people

A range of transport timeframes will be supported – from same-hour to several days out. Drivers can choose to schedule work in advance to guarantee sufficient working hours or work on-demand for maximum flexibility, obtaining work in real time. Multiple competing goals must be balanced: low-latency, cost-efficient fulfillment with accurate ETAs for customers; consistent, high-availability delivery and transport for vendors; and fairness, transparency, and flexibility for drivers.

We will explore the platform’s end-to-end architecture, including:

  • Product flows across web and mobile apps
  • Backend systems, APIs, and event-driven services
  • Core domain models, such as order management, route planning, dynamic pricing, ETA prediction, driver-route targeting and matching, forecasting, and payments
  • Infrastructure strategies, such as horizontal scaling, observability, reliability, multi-region fault isolation, service discovery, networking, and security
  • Machine learning services for forecasting and optimization
  • Technical analysis of design patterns, consistency models, data modeling, and technology choices

This is primarily intended for software engineers designing large-scale gig-economy platforms, but introduces complex topics in an approachable manner for anyone in technology – from experienced software engineers designing their long-term platform architecture and technical roadmap, to aspiring software engineers learning distributed systems and evaluating design trade-offs, to product managers and technical leaders designing gig-economy products and long-term strategies.

By the end, readers will gain expertise in designing, scaling, and operating a global transportation platform that matches customers, vendors, and drivers in real time, under real-world constraints.

Lets dive into Part 1: Introduction, Requirements, Mobile and Web Applications.

  1. Part 1: Introduction, Requirements, Mobile and Web Applications
  2. Part 2: Backend Infrastructure and Service Architecture
  3. Part 3: Vendor Management and 3rd Party Customer Shopping & Checkout
  4. Part 4: Transport Supply & Demand Management and Forecasting with Machine Learning
  5. Part 5: Route Planning, ETAs, and Dynamic Pricing with Machine Learning
  6. Part 6: Driver Onboarding, Preferences, Standings, Rewards, and Payments
  7. Part 7: Driver-Route Targeting, Pushed On-Demand Routes, and Precomputed Eligibility
  8. Part 8: Gig-Economy Route Marketplace for Schedule-Ahead Routes with Deferred Route Matching