Back

Lapetus

An app for a courier fleet. Trips, earnings, shifts and settlements in one place.

Three screens of the Lapetus app side by side: the administrator home with fleet management, the driver home with a New trip button, and the live vehicle map
Industry
Courier and parcel logistics
Scope
Design, iOS + Android app, backend
Timeline
2024
Stack
Capacitor, Vue 3, Symfony

The brief

A courier fleet is run from the road. Drivers leave the depots in the morning, each on their own rates, and at the end of the day they report what they delivered. As long as that travels through chats and spreadsheets, dispatch assembles every settlement by hand and a driver learns their earnings only with the payslip.

Lapetus GROUP s.r.o. moves parcels and wanted both under one roof: an app where a driver logs a trip in a minute and sees right away what they earned, and a back office from which dispatch runs recruitment, shifts, days off and the money.

We built a hybrid app for iOS and Android with two roles in one codebase. The driver got trip logging, refuelling and settlements; the dispatcher got driver and rate management, depot planning and a live vehicle map. A Symfony backend runs behind it, push notifications and real-time updates keep everyone posted.

A driver’s day: a trip logged in a minute

A new driver signs up right in the app, photographs their documents with the phone and dispatch approves the application in a few taps. From then on their whole day turns around one thing: log the trip and see the money.

The driver flow: from onboarding through signing in to logging a trip with instant earnings calculation.
The trip logging form: a depot picker and fields for delivered parcels, pickup-point parcels and kilometres driven, with estimated earnings below

Three numbers and it is in

Parcels delivered, parcels to pickup points, kilometres driven. That is all a driver fills in after a trip: the app knows their rates and recalculates the estimated earnings as they type, before the trip is even saved.

A trip detail with the total earnings and a breakdown by item: parcels, pickup-point parcels and kilometres driven

Every crown has its line

The trip detail shows the earnings broken down by item: parcels, pickup points, kilometres. The trip overview keeps a monthly total on top, so a driver knows where they stand before the settlement arrives.

A refuelling detail with litres, the amount spent and the time, below it a mini-map with the petrol station marked and its address

Refuelling records itself

The fleet refuels on ORLEN fuel cards and the app is connected to them: every refuelling flows in on its own, with the litres, the amount and the petrol station found through Mapbox on a mini-map. Dispatch then sees the whole fleet’s refuelling in one place, with a place and time on every record.

Dispatch in a pocket

The second role of the same app. The administrator manages drivers and their rates, approves registrations, plans shifts by depot, closes settlements and sees the cars on a map. Ten management modules, still in one phone.

The admin flow: drivers, shift planning, settlements and the live vehicle map.
Editing the shift plan for a depot and a day: drivers assigned to the depot and a list of available drivers with their home depots

Who drives tomorrow, and from where

The plan is built by depot and by day: the dispatcher assigns drivers to a depot, and the app watches each one’s home depot and who is on holiday. A published rota reaches the drivers as a push notification.

Approving a day-off request: the reason, the selected days approved or rejected one by one, and a comment field for the driver

Days off, day by day

The driver asks for time off and adds a reason; the dispatcher approves each day separately: what passes, what does not, with a comment for the driver. Approved days flow straight into shift planning.

The live vehicle map with a car pin and a driver card: the address, the engine state and the fuel level

The whole fleet on one map

Cars with GPS trackers are drawn on a live map. The vehicle card shows who is driving it, where it stands, whether the engine is running and how much is left in the tank. And when the whole fleet needs an order at once, dispatch has a mass alarm push message at hand.

What else the app does

Two roles in one app make for a long list. The most interesting of it, at speed.

  • Registration with document photos

    A new driver goes through onboarding right on the phone: they fill in their details, photograph their documents with the camera and submit. Dispatch approves applications in a queue of its own, so nobody joins the fleet unchecked.

  • Rates tailored to every driver

    Per parcel delivered, per pickup-point parcel, per kilometre. Rates can be set for each driver separately and every calculation in the app follows them on its own: in trip logging, in the summaries and in the settlements.

  • Settlements with an approval loop

    A settlement for a period passes through the states sent, approved or rejected, and closed. It carries bonuses and deductions along the way, and both sides see which step the money is at.

  • Competitions for drivers

    Beside trips and money, the driver has a competitions section in the app: dispatch announces a contest for prizes and the invitation reaches everyone as a push notification. Motivation does not have to be the payslip alone.

  • The news arrives on its own

    A new rota, an approved day off, a settlement ready: a driver learns everything that matters from a push notification (WonderPush), and changes flow into the open app instantly over Mercure.

  • One codebase, two stores

    The app is built on Capacitor with Vue 3 and Framework7, so one codebase serves both iOS and Android. A Symfony and API Platform backend holds the data, sign-in is secured with JWT.

A fleet run from a phone.