All projects
03

Leasetown

Car leasing and subscription marketplace — live inventory, lease-term pricing, KYC-backed checkout and a protected customer dashboard for managing a subscription end to end. Live at leasetown.hu.

Next.jsPayload CMSbetter-authPlaywright
Leasetown car listing grid with live lease pricing

Overview

Financing a car the traditional way is slow and opaque. A subscription model fixes the experience, but it only works if the inventory, pricing, and compliance behind it are actually real-time — not a PDF price list from three weeks ago.

Leasetown is a full marketplace built on Payload CMS. Each car carries its own lease-term × down-payment × mileage-cap pricing matrix rather than a single flat monthly price, and onboarding runs through a KYC document flow gating checkout, ahead of a protected customer dashboard for managing an active subscription end to end.

Features

  • Live vehicle catalog with real inventory, manufacturer photography and availability dates
  • Per-vehicle pricing resolved from a lease-term × down-payment × mileage-cap matrix
  • KYC document upload as part of onboarding, ahead of checkout
  • Protected customer dashboard: active subscriptions, billing history, handover scheduling
  • Coupon codes and promotional pricing flags
  • Proposal workflow for larger fleet/business deals
  • Full account system: registration, login, session management

Technologies

  • Next.js 15.4 (App Router), React 19
  • Payload CMS 3 on Postgres — vehicle catalog, leasing proposals, subscriptions, coupon codes, FAQ/legal/KYC content globals
  • better-auth bridged into Payload via payload-auth — session/auth handling
  • Radix UI + react-hook-form + zod — accessible forms with schema validation
  • DigitalOcean Spaces (S3-compatible) — vehicle photography storage at production scale
  • Playwright — end-to-end test suite
  • Vitest — integration test suite
  • Docker — local/dev environment parity

Technical highlights

  • Per-vehicle pricing matrix (term × down payment × mileage) resolved live in the UI as the customer adjusts any variable — a genuine small pricing-engine problem across dozens of cars and multiple term structures
  • KYC document flow gating checkout, not bolted on after the fact
  • better-auth bridged into Payload via payload-auth for auth ergonomics better-auth provides while staying inside Payload's data layer
  • Real end-to-end (Playwright) and integration (Vitest) test coverage — meaningful given real money and real KYC documents are involved

Status

Live at leasetown.hu with real inventory and real customers. 59 commits, actively developed.