Antrak: an on-demand courier platform for UK parcel delivery
Antrak is a UK delivery company, and what it needed was a courier operation rather than a booking form: three kinds of user, one shared record of every job, and money changing hands on each completed delivery. A sender describes the parcel and gets a price. A driver nearby collects it and carries it to the recipient the same day while the sender watches the journey on a map. Behind both of them, an operations team sets the prices, draws the service zones and steps in when a job stalls.
That translated into four deliverables: a customer app for booking, paying and tracking; a driver app for finding and completing jobs; a dispatch backend that keeps both in sync; and an admin dashboard where the operations team controls pricing, service zones, users and reporting. Sigi delivered them as a single custom software engagement, from architecture through store release, drawing on prior logistics and on-demand builds.
The problem: real-time dispatch that matches parcels to nearby drivers
Courier marketplaces fail in predictable places. The quote is vague until a driver is assigned, so customers abandon the booking. Every job is broadcast to every driver, so the good ones are snapped up in seconds and the awkward ones sit unaccepted. Prices and coverage areas are hard-coded, so a change means a developer. Antrak needed each of those handled before launch:
- Quotes had to be computed from parcel size, weight and trip distance at booking time, and the amount charged had to equal the amount shown.
- Drivers needed to see only jobs within a distance they chose themselves, so accepting work did not mean crossing the city for a run that did not pay.
- The operations team needed to adjust pricing bands and service zones from a dashboard, without a release.
- Delivery status had to stay consistent across three surfaces at once — the customer’s tracking screen, the driver’s active job, and the admin dispatch board — with no gap where a parcel was in limbo.
Solution architecture: Flutter apps, a Node.js dispatch API and a live admin dashboard
The platform has four parts. Two Flutter apps — customer and driver — ship to iOS and Android from shared codebases. A Node.js API on AWS owns bookings, pricing, dispatch and payouts, with MongoDB as the primary store. Firebase handles push notifications and presence for drivers going online and offline. Stripe takes card payments, and the Google Maps API supplies address autocomplete, distance calculation for quotes, and turn-by-turn routing for drivers.
Three decisions shaped the rest of the build. First, both apps were written in Flutter so that the map view, address entry and order timeline could be shared components rather than built twice. Second, the job feed is a geospatial query: a driver’s current location and chosen radius are passed to MongoDB, which returns only unassigned jobs whose pickup falls inside that circle. Third, pricing is a set of rules the admin edits — size bands, weight bands, per-distance rates and zone adjustments — evaluated on the server, so the customer app never computes a price it cannot be held to.
The same real-time dispatch pattern — an event on the server, a push through Firebase, a state change on every open screen — is one Sigi has reused across its mobile app development work for delivery and on-demand clients.
The stack we built it on
Antrak runs on a single, cohesive stack that one team could own from the apps down to the servers. The customer and driver apps are both built in Flutter, shipping to iOS and Android from shared codebases so the map view, address entry and order timeline are written once rather than twice. The backend is a Node.js and Express API on AWS EC2 — provisioned with Terraform and wired to CI/CD pipelines — with MongoDB as the primary store, its geospatial index driving the radius-based job feed, and Redis alongside it for fast, ephemeral state. Firebase Cloud Messaging carries push notifications and driver online/offline presence, Stripe takes card payments, and the Google Maps API supplies address autocomplete, distance-based quoting and turn-by-turn routing. Pricing is evaluated server-side, so the customer app never shows a figure the platform cannot honour.
How the platform is built and run
Antrak is engineered as a three-sided courier platform where one shared record of every job stays in sync across the apps and the dispatch board:
- Shared Flutter codebases for the customer and driver apps, so the map view, address entry and order timeline are written once and shipped to both iOS and Android.
- A single Node.js and Express API on AWS EC2 that owns bookings, pricing, dispatch and payouts, with MongoDB as the primary store and Redis alongside it for fast, ephemeral state.
- A radius-based job feed driven by a MongoDB geospatial index, so each driver sees only unassigned jobs within the distance they set around their live location.
- Server-side pricing rules — size bands, weight bands, per-distance rates and zone adjustments — evaluated on the server, so the customer app never shows a figure the platform cannot honour.
- Real-time status kept consistent across the customer, driver and admin surfaces, with Firebase Cloud Messaging for push and driver online/offline presence, Stripe for card payments and the Google Maps API for autocomplete, distance quoting and routing.
- Infrastructure provisioned with Terraform and wired to CI/CD pipelines, with the driver app taken through Google Play review and published under Sigi’s developer account.
What we implemented: customer app, driver app and admin dashboard
Sigi designed, built and shipped every surface of the platform. Here is what we implemented across the customer app, the driver app and the admin dashboard.
Customer app: booking a pickup, instant pricing and live parcel tracking
- Book a pickup: pickup and drop-off addresses through Google Maps autocomplete, parcel size and weight, and an instant quote computed from distance and the admin’s pricing rules.
- Pay in-app with Stripe; the card is saved for repeat bookings and charged only when the booking is confirmed.
- Track the delivery through each status — driver assigned, heading to pickup, parcel collected, en route, delivered — with the driver’s position on a live map.
- Manage shipments: a history of past deliveries, a list of active ones, and cancellation while a job is still unassigned.
- Push notifications through Firebase at every status change, so the sender does not have to keep the app open.
The booking-to-tracking flow is shown end to end in the customer app demo Sigi published on YouTube.
Driver app: radius-based job feed, optimized routes and earnings
- Sign up with a bike, cargo van, car or pickup truck; the app guides the driver through onboarding and notifies them when they are approved to drive.
- Go online or offline to start or stop receiving delivery requests, and work only during chosen hours.
- Filter jobs by delivery distance; the feed shows pickups within that radius of the driver’s live location, and the driver accepts the ones that suit.
- Optimized routing and navigation for each assigned job through Google Maps, from the driver’s position to pickup and then to drop-off.
- Earnings tracked per order, so a driver can see what each completed delivery paid.
The driver-side flow — going online, accepting a job, completing it — is walked through in the driver app demo. The driver app was published to Google Play under Sigi’s developer account.
Admin dashboard: pricing, zones, users and dispatch analytics
- Pricing rules: size bands, weight bands and per-distance rates, editable without a release and applied to the next quote immediately.
- Service zones: define where Antrak operates and adjust pricing by zone.
- User management: customer accounts, driver approval and suspension, and vehicle details.
- Real-time dispatch board: unassigned, accepted, in-progress and delivered jobs, with the ability to reassign a job when a driver drops out.
- Analytics: bookings, completed deliveries, revenue and driver activity over time.
Delivery and engineering practice
Sigi ran the engagement as an end-to-end product build: discovery and flows for all three user types, UI design, then parallel tracks for the Flutter apps and the Node.js API against a shared contract for booking and job status. Choosing Flutter meant one team could carry both apps to iOS and Android from shared code, and the driver app went through Google Play review and publication under Sigi’s developer account. Both flows were captured end to end as demo videos — the customer app and the driver app — which remain the clearest walkthrough of the platform in action.
The team and expertise behind the build
Sigi hires specialists: every engineer is an expert in their own field, and Sigi hires only for that depth. It invests in its people, too — the team keeps sharpening their skills and earning certifications as they deliver, which keeps expert, motivated engineers on every build. Antrak was delivered end to end by one such cross-functional Sigi team — product strategists, UI/UX designers, mobile and full-stack engineers, and QA — working as a single unit rather than handing the build between vendors. It is the model Sigi has run since 2016: engineers with deep, cross-industry expertise owning the whole stack, from the two Flutter apps to the Node.js dispatch backend, the geospatial job feed and the AWS infrastructure underneath. A three-sided courier platform with live tracking, radius-based matching and server-side pricing, delivered as one coordinated build, is the kind of full-stack, multi-surface mobile app development and custom software engineering Sigi’s team is built for.
What shipped: a working on-demand courier platform from booking to delivery
A customer can book, pay for and track a parcel from one app. A driver can set a radius, accept the jobs inside it and be routed from their position to pickup and then to drop-off. The operations team can change pricing bands and service zones, approve or suspend drivers, reassign a stalled job and read booking, revenue and driver-activity reports from the dispatch dashboard, none of which needs a code change. Each of those flows is on screen, end to end, in the customer and driver demos linked above.
Related courier and logistics work
Antrak is one of several delivery products Sigi has built. Bix Delivery is another on-demand courier platform with customer and driver apps; Shipping Hack tackles parcel forwarding and carrier comparison; and Pacifrica Express covers cross-border freight with customs paperwork. Just Dry Cleans applies the same customer-app, agent-app and admin-panel shape to on-demand laundry pickup, with service zones and proof of delivery. The pattern behind all of them is documented on our logistics and on-demand industry pages.
If you are planning a courier, last-mile or dispatch product and want to talk through pricing rules, job matching or the driver experience, contact Sigi and we will walk through what Antrak taught us.




