Case study · Freight marketplace

Post a load. Get offers.

A road-freight marketplace where shippers post a job and verified drivers nearby make a firm offer — collection to delivery, no phone calls. A load finds its truck by distance, not by luck.

Mobile appTwo-sided marketplaceProduct · UX · UI
TruckMate job detail: a home-relocation job with pickup and delivery addresses and photos TruckMate driver feed: 24 jobs in your pickup radius
Best offer
€220.00
Verified driver
25 km radius
What we shipped
Radius discoveryKYC verificationFirm offers In-app messagingPayoutsTwo-way ratings
01 — The product

A load finds its truck by distance, not by luck

A shipper describes the job — what, where from, where to, when, with photos — and it surfaces to verified drivers whose pickup radius covers the collection point. Drivers bid, the shipper picks, and the app carries the rest.

Discovery by pickup radius

A driver sets a radius around where they are, and only jobs whose collection sits inside it appear — the feed is jobs they could actually take.

Verified before they bid

Licence, legal ID and a live selfie, each reviewed before a driver goes live on the marketplace.

A firm offer, not an enquiry

Bidding sets a price, a pickup date and time and the truck, with the platform fee taken from the accepted offer.

02 — The problem

Arranging road freight still means ringing round for quotes and hoping someone is free and nearby.

Moving a load is a matching problem — the right truck, near enough, free at the right time — and the phone-and-quotes way of solving it loses on all three. It's slow, it's opaque, and the "deal" lives in a call nobody can hold to account.

TruckMate turns that into a marketplace: the shipper posts once, and the drivers who can actually do it come to them. Distance does the matching; verification builds the trust; a structured offer replaces the handshake.

3

constraints a chat app can't solve — distance, trust, and a deal with structure. Each one shaped the product.

Framing from the project brief — no market metric implied.

03 — Goals & challenges

What TruckMate had to get right

Turning phone-call freight into a marketplace meant designing four things in from the start — and beating the three constraints a chat app can't solve.

Goals

Design the marketplace in

  • Match around distance — discovery by pickup radius, from the first sketch.
  • Verification before trading — a KYC gate a driver clears before bidding.
  • The offer is a contract — price, truck, date & time and the platform fee.
  • Close the loop in-app — messaging, payouts and two-way ratings on one screen.
Challenges

Why it was hard

  • A driver two cities away is no use — the match has to be built on distance from the pickup.
  • A stranger is about to carry someone's belongings — identity has to be verified up front.
  • A price agreed in a message is not a booking — the offer must carry the terms.
  • The whole deal must stay in the app, or it leaks back to cash and phone numbers.
04 — Built for

Who is TruckMate built for?

A two-sided marketplace with 2 roles — the shipper who posts the load, and the driver who carries it.

Shipper view
Client · shipper

The shipper

Posts a haulage or moving job — category, budget, pickup and drop-off addresses and photos — then compares the offers that come in.

Driver view
Driver · truck owner

The driver

Discovers jobs inside their pickup radius, clears identity checks, bids a firm offer, and carries it from collection to delivery.

05 — The deal, end to end

How a posted load becomes a paid delivery

Client
01

Shipper posts the job

Category, budget, pickup and drop-off, and photos — the load, fully described, posted to the marketplace in a minute.

Post
Driver
02

Drivers discover it by radius

The job surfaces only to verified drivers whose pickup radius covers the collection point, ranked by distance.

Match on distance
Driver
03

A driver makes an offer

Bids a price, a pickup date and time and the truck they'll use, with the platform fee shown. A firm commitment, not an enquiry.

Firm offer
Client
04

Shipper accepts

Compares the offers on their job and accepts one — turning the bid into a booked deal both sides are held to.

Booked
Driver
05

Pickup

Collects at the pickup point and confirms the job is under way, in the app — everyone can see the state.

In transit
Driver
06

Delivery, with proof

Photos at handover and an OTP, then the load is marked delivered — closing out the job on the record.

Delivered
System
07

Rated & paid

Both sides rate each other and the driver's earnings settle to their payout, minus the platform fee. The loop closes.

Paid

keep scrolling — the deal glides left →

06 — The pivotal decision

We killed chat-first negotiation

The obvious build was a listings feed plus a chat to haggle in. Drag to see what we shipped instead.

✓ Shipped
Job #23456Offers (5)
Paul Walker
★ 4.2
Pickup12/08/2023 · 06:00 PM
Offer€220.00
TruckSmall LCV (1 Ton)
MessageAccept offer
Mezei Ágnes
★ 4.6
Pickup12/08/2023 · 05:00 PM
Offer€200.00
✕ Rejected concept
Job #23456 · chat
how much to athens?
depends… when?
this weekend maybe, small van?
call me and we sort it

No date. No named truck. No fee. Nothing to hold either side to.

← drag to compare →
Arranging a haul
Phones and quotes
In TruckMate
Finding a driver
Ring round and hope
Post once, nearby drivers come to you
Knowing who they are
Take their word for it
Licence, legal ID and selfie, reviewed first
Getting a price
A verbal quote
A firm offer with amount, truck and times
Staying in touch
Swap phone numbers
In-app messaging tied to the job
Paying and rating
Cash and a mental note
Payout through the app and a two-way rating
✕ Why we rejected chat-first

Chat-first freight is the phone call, moved onto a screen. It hides price, invites no-shows, and leaves disputes with no source of truth.

✓ What shipped instead

Bidding writes a structured offer — price, pickup date & time, the exact truck, and the fee. Accepting it is the booking.

07 — The build

Eight flows, one thumb

Every feature solves one of the constraints. Scroll — the screen follows the story.

Jobs in your pickup radius The job, in full Verify identity Make your offer Manage trucks Current jobs Payouts Ratings and reviews

Discovery by pickup radius

Driver · feed

A driver sets a radius; only jobs whose collection sits inside it appear — the feed is jobs they could actually take.

Pickup radiusFilters & saved

The job, in full

Shipper · post

Category, budget, pickup and drop-off addresses and photos — the load fully described, so a driver bids on what's really there.

CategoryLoad photos

Verified before they bid

Driver · KYC

Driving licence, legal ID and a live selfie — every document reviewed before a driver goes live on the marketplace.

LicenceLegal IDSelfie

An offer is a commitment

Driver · bid

Price, pickup date & time and the truck, with the fee shown and revisions limited. A booking, not a chat.

Price & feePickup slot

Fleet management

Driver

Trucks added and edited with details and images, so the right vehicle is named on every offer.

Verified · pending

In-app messaging

Per job

Driver and shipper message inside the job rather than swapping numbers — the deal stays on-platform.

In-app chat

Payouts

In app

Completed jobs settle to the driver's earnings, net of the platform fee, with payout details held in-app.

Earnings

Two-way ratings

Reputation

Driver and shipper rate each other after a job, building the reputation a marketplace runs on.

Reviews
08 — Visual design

The look, and why

A crisp, operational system — a confident green carries the marketplace, status colours mark verified and pending, and a geometric sans keeps the load board legible at a glance.

Colour — freight green, clear status
Green
#3FA524
Deep
#2C7A16
Bright
#5FD24B
Pending
#E29A00
Ink
#152018
Wash
#EAF5DF
Typography — Space Grotesk · Inter · Mono
Display · 700Post a load. Get offers.
HeadingDiscovery by pickup radius
Body · InterA load finds its truck by distance, not by luck — the offer carries the terms.
Data · MonoJOB #23456 · €220.00 · 25 KM
Iconography — operational line set
The last mile

One load, from your radius to their door.

Every job ends the same way — collected, carried, delivered, rated and paid, all on the record. No cash in an envelope, no number in a chat.

09 — What we shipped

The scope, in one panel

The site publishes no performance metrics, so none are invented here — this is delivered scope, not results.

8
Core flows, post to payout
2
Verified roles: driver & shipper
3-step
Identity check before any bid
100%
Deal closed inside the app
Client
ConfidentialUnder NDA
Platform
Native mobileTwo-sided
Our role
Product designUX · UI
Market
EuropeGreece pilot
The thesis
"A price agreed in a message is not a booking."

— the one constraint that shaped the entire product

11 — Transferable

What a freight marketplace needs to get right

Six things separate a marketplace drivers and shippers actually use from an app that never reaches liquidity — they hold for any local matching marketplace.

01

Match on distance, not availability

For physical work, nearness is the constraint, so discovery has to be built on radius from the job, not a global list.

02

Verify before the first bid

When strangers carry belongings, identity and documents have to be checked before anyone can trade.

03

An offer that is a booking

A price in a chat binds no one; the bid has to carry the amount, the vehicle, the times and the fee.

04

Describe the load properly

Category, addresses and photos on the job mean a driver bids on what is really there, cutting disputes on arrival.

05

Keep the deal in one place

Messaging, money and ratings tied to the job stop the marketplace leaking to cash and phone numbers.

06

Reputation that compounds

Two-way ratings turn good work into more work, which is what keeps both sides coming back.

12 — FAQ

Building a freight marketplace

The questions operators ask us first, answered plainly.

How does TruckMate match loads with drivers?
By distance. A driver sets a pickup radius, and only jobs whose collection point falls inside it appear in their feed, ranked by how near they are. A shipper posts a job once — category, budget, addresses and photos — and it reaches the verified drivers who could actually take it. Drivers bid, the shipper picks, and the app carries the rest.
How are drivers verified?
Through an identity check a driver clears before they can make an offer — a driving licence, a legal ID such as a passport or national ID, and a live selfie, each reviewed before the driver goes live. Because a driver is about to carry someone's belongings, trust is established up front rather than after something goes wrong.
Is an offer binding?
It's designed as a firm commitment. An offer sets the price, the pickup date and time and the specific truck, shows the platform fee, and can only be revised within a limit. When a shipper accepts it, it's a booking both sides are held to — not a number agreed in a chat.
How long does it take to build a marketplace app like this?
A two-sided marketplace with identity verification, radius discovery, offers, messaging, payouts and ratings is a multi-month programme. What moves the date most is the trust and payments layer and reaching liquidity on both sides, not the number of screens. Shanti Infosoft scopes it on a short call and returns a fixed quote.
Let's build

Building a marketplace of your own?

Tell us how your business actually works and we'll tell you honestly what it takes — the trust layer, the payments, the path to liquidity. No deck, no pitch.