On-demand logistics marketplace
JobsiteX
An Uber-style freight platform where customers book verified truck drivers with live map tracking, dynamic fare calculation, and Stripe Connect split payments across a nine-stage job lifecycle.

Booking a truck for freight usually means phone calls, negotiated prices, and no idea where your load is once it leaves. JobsiteX turns that into an on-demand marketplace: book a verified driver, watch the job progress live, and have the money split automatically when it is done.
The problem
A freight marketplace has to satisfy three parties at once, and they want different things.
- Customers want a price before they commit, a driver they can trust, and visibility while their load is moving.
- Drivers want jobs that match their truck, clear status control, and payouts that arrive without chasing anyone.
- The platform has to verify drivers, price jobs fairly, take its commission, and stay out of the way of the money.
What I built
Booking with a real price, up front
Fare is calculated dynamically from distance, time, truck type, payload capacity, and axle count, so the quote reflects the actual job rather than a flat guess. Customers book through a live map and see verified drivers rather than a list of phone numbers.
A nine-stage job lifecycle
Every job moves through an explicit pipeline with driver-controlled status advancement and customer-side tracking. Both sides always know exactly which stage the job is in, which removes the "where is my load?" phone call entirely.
Payments that split themselves
Stripe Connect handles the money: the customer pays once, the driver's share lands in their connected account, and the platform's commission is taken automatically. Drivers withdraw their balance without an invoice or a wait for manual transfer.
Verification and trust
Document verification with AWS S3 storage backs the "verified driver" promise, with admin workflows for reviewing and approving drivers before they can accept jobs.
Everyone stays informed
Firebase push notifications keep customers and drivers updated as jobs progress, and Google OAuth keeps sign-in to a single tap.
Technical decisions
React Native for the mobile app so drivers and customers on both platforms ship from one codebase, with NestJS and PostgreSQL behind it — a relational database because jobs, drivers, vehicles, payments, and status transitions are deeply relational and need to stay consistent.
Stripe Connect with destination charges, so the platform never holds other people's money or takes on the compliance burden of doing so. Every amount is calculated server-side; fee logic never lives on a client anyone can open.
Webhooks as the source of truth for payments, made idempotent because a payment is not finished when an API call returns.
AWS S3 for documents, keeping identity and licence files out of the application database.
The outcome
A working on-demand logistics platform covering the full journey: booking, matching, live tracking, a structured job lifecycle, split payments, driver payouts, verification, and admin oversight. It is the most operationally complex system I have built, and the part I would highlight is that the money flow needs no manual intervention at all.
Building a marketplace with payments between multiple parties? Let's talk about it.
Built with