<- Back to projects
Case study
Backend Platform

FlexDelivery24 — Logistics Platform API

Designed and built the backend API powering FlexDelivery24 — a full-featured logistics and delivery platform. The system serves separate web, mobile, and admin clients from a single NestJS application on Fastify, backed by MySQL with TypeORM and Redis caching. Integrations span Pusher for real-time delivery events, Paystack for payments, Twilio for SMS, Smile ID for identity verification, AWS S3 for file storage, and OpenAI powering automated dispute resolution and risk assessment.

The problem

A delivery operation needs real-time tracking, identity verification, payment collection, and SMS notifications — all served reliably from one API.

Designed and built the backend API powering FlexDelivery24 — a full-featured logistics and delivery platform. The system serves separate web, mobile, and admin clients from a single NestJS application on Fastify, backed by MySQL with TypeORM and Redis caching. Integrations span Pusher for real-time delivery events, Paystack for payments, Twilio for SMS, Smile ID for identity verification, AWS S3 for file storage, and OpenAI powering automated dispute resolution and risk assessment.

The approach

Structured the codebase into three consumer modules — web, mobile, and admin — each with their own controllers but sharing a common domain layer of use cases and repositories.

Chose Fastify over the default Express adapter to reduce per-request overhead on the high-frequency delivery status update paths.

Enforced a clean request flow throughout: controller → use case → repository → database entity, keeping business logic decoupled from both transport and persistence.

Layered Redis caching on frequently-read delivery and route data to reduce database round-trips at peak load.

What was used

NestJS with Fastify adapter for the API application layer.

MySQL with TypeORM for delivery, user, order, and route records.

Redis for caching high-frequency reads.

Pusher for real-time WebSocket events — delivery status and location updates.

Paystack for payment collection and webhook verification.

Twilio for SMS notifications and OTP delivery.

Smile ID for customer and partner identity verification.

AWS S3 for document and image file storage.

OpenAI for automated dispute resolution, risk assessment, and marketing content generation (blog posts and images).

JWT with dual-secret access/refresh token pattern and OTP support.

The outcome

Delivered a production API serving three distinct client surfaces from one application.

Real-time delivery tracking events replaced polling with live WebSocket updates.

Identity verification pipeline streamlined partner onboarding from manual document checks to an automated flow.

Modular architecture means adding a new integration or client surface is additive, not disruptive to existing consumers.

Want the engineering version?
I can walk through tradeoffs, data flow, and implementation details in a deeper technical conversation.
Talk about a project