Case study · Product engineering
A logistics platform with a panel for every role
Grade A Express ships parcels internationally and buys from supported stores on a customer's behalf. We built the platform that runs both, from the customer's first request to the rider's commission.
- Client
- Grade A Express
- Sector
- Logistics
- Engagement
- Full-stack platform build
- Delivered
- 2025

- Role-based panels
- 4
- User, admin, driver and super admin, each scoped to the work that role actually does.
- Payment gateways
- 2
- Paystack and Bizzapay, so customers can pay with the option that works in their market.
- Shipment tracking
- Live
- Status updates from order to delivery, visible to the customer without contacting support.
What had to work together.
The business offers two services that share one operation: shipping a customer's own parcels, and buying items from stores for them first. Both need purchase requests, shipment booking, payment and delivery to line up.
Four groups touch every order: customers, the operations team, riders on the road and the owners setting the rules. Each needed its own view, and none of them could be allowed to see or change the others' work.
The system we built.
One Django backend holds the business rules. Each role gets its own panel on top of it, so permissions are enforced in one place.
- User panelProduct purchase requests, shipment booking, live tracking and payment through Paystack or Bizzapay.
- Admin panelShipment and user management, rider assignment and day-to-day operational oversight.
- Driver panelRide and shipment management, task status updates and commission tracking for riders.
- Super adminControl over system settings, panels and the business rules the other roles work within.
- TrackingShipment status flows through every panel in real time, from order to delivery.

Live at gradeaexpress .com.
The customer-facing site, tracking and shipping dashboard are public. The admin, driver and super admin panels sit behind sign-in.
- Backend
- Python · Django · DRF
- Frontend
- Next.js · Tailwind CSS
- Payments
- Paystack · BizzaPay
- Panels
- User · Admin · Driver · Super admin
- Status
- Live
Running an operation with more than one kind of user?
Bring the roles and what each one needs to see. We will map the panels and the rules between them on the call.
30 minutes · No pitch · A written summary afterwards


