All selected work

Logistics · Freight marketplace / Live web

Freight matching is a domain problem before it is a map.

Kenya-first freight matching built around route, capacity, cargo compatibility and booking rules.

My role

Founder · domain design, architecture, frontend and backend

Period

August 2026 — ongoing

Stack
Angular 22NestJS 11PostGISSocket.IO
Visit Haulio
Actual Haulio freight request interface with shipment estimate form
Actual public product capture · October 2026. Public screens may include clearly presented product examples.
01Shipment intake
02Domain matching & pricing
03Quote / booking lifecycle
04Authorized tracking
01

The problem

A shipment needs more than a truck nearby. The route, remaining capacity, cargo type, timing and price must fit, and the people involved need a clear booking process.

02

What I owned

Shipment intake, matching and pricing rules, quote/booking lifecycles and the architecture joining public web, role-aware mobile and backend services.

03

The difficult constraint

Capacity changes along a route. Cargo compatibility and booking state constrain what can be offered. Exact tracking information must be authorized, while mobile connectivity can be intermittent.

04

The architecture

An Nx monorepo holds Angular web, Ionic/Capacitor mobile, a NestJS API and shared domain/contracts/auth-policy packages. PostgreSQL/PostGIS supports the data and geospatial layer; Socket.IO supports authorized realtime updates. The previous Next.js app is preserved for rollback/reference.

05

Why these decisions

Keep matching and pricing in framework-neutral domain code, with tests for segment capacity and dominant capacity-share pricing. Separate location authorization from its presentation. Tracking protocols include acknowledgement/outbox foundations for reconnecting devices.

06

The result

The freight web product is public and under active iteration. The current manifest records Angular 22, TypeScript 6, Ionic 9, NestJS 11 and Node 24. Mobile is under device testing; this case study does not claim a released Android/iOS Haulio app.

07

Product learning

The latest October update makes exact pickup/drop-off details optional for an initial estimate. Asking for only what is needed at that stage makes the intake easier while retaining the detailed workflow later.

Evidence & scope +
Discuss a similar problemNext: Nyumba Services