Project overview
SENDIT is a private build and case study for a delivery platform that coordinates dispatch, routing, status updates, and user communication.
The case study focuses on product architecture: how to model delivery workflows so the app can support real operational complexity.
The product problem
Courier products need to coordinate multiple actors across constantly changing states: pickup, assignment, transit, delay, delivery, cancellation, and proof of completion.
The main challenge was building a system model that could stay understandable while leaving room for dispatch logic, notifications, and marketplace growth.
Solution direction
The architecture centers delivery state as the core domain object, then layers courier matching, route optimization, notifications, and operational dashboards around it.
This keeps the platform easier to evolve because the delivery lifecycle is explicit instead of scattered through UI events.
What I owned
- ›Designed the delivery lifecycle and state model.
- ›Mapped sender, courier, and recipient workflows across the product.
- ›Planned the dispatch, notification, and tracking architecture.
- ›Defined the UI patterns for status visibility and operational scanning.
Feature system
Delivery state machine
Models the full lifecycle from request creation to proof of delivery.
Courier matching boundary
Separates assignment logic from order creation so dispatch rules can evolve.
Role-specific workflows
Sender, courier, and recipient views share state while exposing only the actions each role needs.
Operational visibility
Dashboard patterns prioritize exceptions, delayed deliveries, and route progress.
How the system fits together
const delivery = await Dispatch.create({
pickup,
dropoff,
courier: await matchCourier({ zone, capacity }),
events: ["created", "assigned", "in_transit"],
});Engineering decisions
Designing for changing delivery state
decision.01Use explicit state transitions instead of one-off boolean fields.
The product model becomes easier to debug, audit, and expand.
Separating marketplace and operations concerns
decision.02Keep dispatch logic behind a service boundary rather than coupling it to screens.
Future courier matching rules can change without rewriting core UI flows.
Where the project stands
SENDIT is currently a private build presented as a public case study.
The project demonstrates platform thinking, logistics workflow modeling, and full-stack architecture planning.
