← Selected work

Live platform

SendIt

A Ghana-focused commerce and last-mile logistics platform spanning package delivery, restaurant ordering and event ticketing.

Role
Co-founder · Product and engineering leadership
Product surfaces
Customer, rider and vendor mobile apps · Admin console · Public web · API and workers
Public product
Visit website ↗
SendIt public website showing the customer application
Mobile view of the SendIt Operations secure staff access page

01

Product and context.

SendIt brings several everyday services into one connected product. Customers can arrange deliveries, order from restaurants and manage event tickets while riders, vendors and operations teams work through their own purpose-built applications.

The product has to coordinate people with very different responsibilities around the same order. Identity, status, payments and recovery all need to remain consistent even when a device disconnects or a provider responds late.

02

How the system fits together.

A TypeScript and Express modular backend uses MongoDB as the system of record, with Redis for queues, locks, caching and Socket.IO coordination. React Native powers the mobile applications; Next.js serves the public and administrative web surfaces.

Key workflows

  • Service-specific ordering, delivery assignment and fulfilment
  • Customer, rider, vendor and admin identity contexts
  • Event inventory, ticket purchase and QR-based access
  • Refund, payout, notification and completion recovery

Important integrations

  • Paystack payments
  • Google Maps
  • Firebase push notifications
  • Arkesel OTP and SMS
  • Cloudinary and private object storage
  • Transactional email

04

Challenges and decisions.

Engineering challenges

  • Keeping role-specific applications aligned around the same order state
  • Recovering safely from reconnects, duplicate requests and provider delays
  • Keeping payment truth and permission checks on trusted server boundaries

Decisions and trade-offs

  • REST remains authoritative while realtime events improve visibility rather than replace state reconciliation.
  • Payment and completion paths use server verification, idempotency and background recovery.
  • Private media and role-aware APIs keep operational data out of public client paths.

Technology

TypeScript · React Native · Next.js · Express · MongoDB · Redis · Bull · Socket.IO