Back to projects
Full-Stack / Logistics PlatformFeatured

SENDIT

A logistics platform concept for coordinating senders, couriers, recipients, delivery state, and operational workflows.

Role
Full-stack product engineer
Timeline
2026
Type
Logistics platform
Team
Solo build
ReactNext.jsTypeScriptPostgreSQLAWS

Private build · case study only

case-study/sendit.tsx
SENDIT project visual
// 01. Overview

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.

// 02. Problem

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.

// 03. Solution

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.

// 04. My Contribution

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.
// 05. Key Features

Feature system

feature.01

Delivery state machine

Models the full lifecycle from request creation to proof of delivery.

feature.02

Courier matching boundary

Separates assignment logic from order creation so dispatch rules can evolve.

feature.03

Role-specific workflows

Sender, courier, and recipient views share state while exposing only the actions each role needs.

feature.04

Operational visibility

Dashboard patterns prioritize exceptions, delayed deliveries, and route progress.

// 06. Technical Architecture

How the system fits together

architecture.map
system view
LayerResponsibilityTools
Frontend
Role-specific dashboards, delivery creation, tracking views
Next.js, React, TypeScript
Domain API
Delivery lifecycle, assignment, status transitions
Node.js, REST
Operations
Dispatch queue, notifications, route events
AWS, queues
Data
Users, couriers, delivery records, audit history
PostgreSQL
orchestration.ts
const delivery = await Dispatch.create({
  pickup,
  dropoff,
  courier: await matchCourier({ zone, capacity }),
  events: ["created", "assigned", "in_transit"],
});
// 07. Challenges & Decisions

Engineering decisions

Designing for changing delivery state

decision.01
Decision

Use explicit state transitions instead of one-off boolean fields.

Result

The product model becomes easier to debug, audit, and expand.

Separating marketplace and operations concerns

decision.02
Decision

Keep dispatch logic behind a service boundary rather than coupling it to screens.

Result

Future courier matching rules can change without rewriting core UI flows.

// 08. Outcome & Status

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.