Executive Summary
A laundry business was coordinating bookings, pricing, riders and payments by phone, so customers had no visibility and riders had no clear job list.
A Turborepo monorepo with a Next.js web app that is both the customer site and the server, plus two Expo apps. Customers book, pay and track orders; riders get assigned jobs with verified handoffs; admins manage pricing, orders and invoices.
Core Capabilities & System Highlights
Customer Booking
Service discovery with dynamic pricing, a laundry basket, pickup and delivery scheduling, payment and live order tracking.
Rider App
Assigned orders, pickup and delivery workflows, verification at handoff, route support and earnings.
Admin Operations
Order management, pricing, invoices and reports from the web dashboard.
Payments
Online payments through Flutterwave, handed off from the mobile apps.
System Architecture & Specs
Next.js (apps/web)
Marketing pages, customer accounts, admin dashboards and the server endpoints the mobile apps use.
Expo Router Apps
Separate customer and rider apps sharing business rules from workspace packages.
Shared Database Package
Prisma schema, versioned migrations and shared types used by every app.
pnpm + Turborepo
One monorepo with cached builds across web, mobile and shared packages.
Key Engineering Trade-offs & Operational Notes
No separate backend to run: the Next.js app serves both the browser and the mobile apps.
Order status transitions live in a shared package so web and mobile can't disagree.
Schema changes go through versioned migrations, never direct production edits.
Tech Stack & Role Matrix
Every library and framework in BG Laundry & Dry Cleaning was chosen with intentional architectural trade-offs to balance speed, type safety, security, and scalability.
| Technology | Category | System Role | Performance Rationale |
|---|---|---|---|
| Next.js | Framework | Web app and API | One deployment for the site, dashboards and mobile endpoints. |
| Expo | Mobile | Customer and rider apps | Shared React Native code for iOS and Android. |
| Prisma | ORM | Shared schema and migrations | Every app reads the same typed data model. |
| Turborepo | Tooling | Monorepo builds | Fast, cached builds across all apps and packages. |
Live Preview & Showcase
BG Laundry & Dry Cleaning Repository Record
This project is maintained directly as a public source code repository with technical documentation.
Metrics & Reliability
Apps
Web, customer mobile and rider mobile
Roles
Customers, riders and admins
Codebase
Shared database and business rules