Skip to main content

Architecture

High-level components

  • Web App: Next.js application for guests and hosts
  • Data Layer: Firestore for listings, availability, and user metadata
  • Media Layer: Cloudflare Images and Stream for optimization and delivery
  • Payments: Stripe Connect for charges, transfers, and payouts
  • Admin: Internal operations and reporting tools

Request flow

  1. User requests pages and media through Cloudflare edge.
  2. Next.js renders UI and calls backend APIs.
  3. APIs read/write metadata in Firestore.
  4. Payments and payout events are synchronized through Stripe webhooks.
  5. Search indexes are refreshed asynchronously.