Case Study

Claybeck: one platform, four field apps

The mobile chapter of a building-materials manufacturer’s logistics platform: an ordering app for trade customers, a driver app with offline proof-of-delivery, a picker tablet for the yard, and a haulier portal, all on one Laravel back-end. 8+ years on it as the senior engineer, shipped white-label through a partner agency.

Anonymized under NDA: the product appears here as “Claybeck”, with fictional customers and data.

LaravelPHP 8.3+MySQLLaravel Passport (OAuth2)REST APIsNative iOS + Android appsOffline batch syncPusherAzure Blob Storage

Four field roles that never saw the same order

Every delivery passes through four pairs of hands outside the office: the picker who loads it, the haulier who takes the job, the driver who moves it, and the merchant waiting for it. None of them could see the same order. Merchants phoned the office to ask where a delivery was, two pickers could reserve the same load, and a drop made out of signal became a paper docket someone keyed in later. Each role needs a different slice of the same data on a different device, so the platform grew a client app for each, around the ops web the office runs.

Over a hundred thousand orders have moved through it.

claybeck · platform

Laptop, tablet, and phone in one scene: an operations dashboard on the laptop, a picker load screen on the tablet, and a merchant order list on the phone.
[fig. 1] The platform family: ops web, yard picker tablet, and merchant phone app. The ops web plus two of the four client apps, on one back-end.

The merchant app

The iPhone and Android app answers the one question merchants used to phone the office for: where is my order? Active and delivered orders show as cards, with the delivery window and who is bringing it.

claybeck · merchant-app

Two phone screens of the merchant app: a list of order cards with split and delayed badges, and an order detail with a status stepper and product lines.
[fig. 2] Merchant app: order cards by customer PO with split badges, the stepper that carries an order from confirmed to dispatched to delivered, a delayed order showing its new date, and the transporter named on every card.

The yard, the road, and the haulier

A picker opens a load and reserves it, so two people cannot work the same order, records what was actually picked, then assigns the vehicle, trailer, and driver.

The driver app takes over on the road, capturing a signature at each stop and syncing deliveries recorded out of signal. The haulier portal is the fourth: accept or refuse each offered load, against a countdown.

claybeck · picker-app

Tablet showing a load screen with pick-quantity steppers per order, transport assignment dropdowns, a confirm button, and a load chat panel.
[fig. 3] Picker app (tablet). A load reserved by the picker: pick quantities per order line, transport assignment with vehicle type, trailer, and driver, load PIN and weighbridge bay, and the per-load chat with dispatch.

What changed

  • Order status: from a phone call to self-serve: merchants follow their orders in the app, delay dates included.
  • The yard: reserved loads and load chat: two pickers can no longer work the same order, and the short-pallet conversation stays on the load record.
  • The road: deliveries no longer wait for signal: proof of delivery is captured offline and synced when the driver is back in range.

8+ years, one platform, grown in place: a single-tenant internal platform with companion apps, built around how one manufacturer works.

claybeck · /insights

Operations dashboard with a three-division workspace switcher, order and load counters, a weighbridge log, and an open load-notifications panel.
[fig. 4] The ops web the apps report into: the division switcher (division names anonymized to REGION A / REGION B / PACKAGING), live counters, the weighbridge log, and the load-notifications feed the office watches all day.

Have something similar to build?

Say what the field side of your platform needs (an app, a portal, a device in a yard) and I’ll tell you what it takes.

Book a Free Call