All projects

Warehouse & Logistics Platform · Mobile

2026

The delivery-agent Flutter app — HMAC-secured attendance, pickup and transfer workflows, and fleet-asset tracking, all backed by ERPNext.

Role

Full-Stack Software Engineer — designed and built the app end to end against the shared Carry Go backend

Year

2026

Status
Production
Stack
  • Flutter
  • Dart
  • Frappe REST API
  • Firebase Cloud Messaging
Carry Go — Courier App — interface preview
01 / 06

Overview

The Courier App is the field tool for Carry Go's delivery agents: a Flutter app covering shift attendance, pickup and delivery requests, inter-warehouse transfers and fleet-asset tracking, all backed by the same Frappe/ERPNext data model as the Warehouse Portal.

Problem

Delivery agents had no reliable way to prove attendance for payroll purposes, no structured workflow for accepting and completing pickups, and no way to hand off packages between warehouses without a phone call and a manual note. Fleet assets like scooters had no tracking beyond memory.

Solution

I designed an HMAC-signed QR attendance system — an agent scans a per-shift code that's cryptographically verified server-side, closing the gap that a simple photo or GPS check-in would leave open. Pickup, delivery and inter-warehouse transfer requests all flow through explicit, state-tracked screens rather than free-text notes, and every fleet asset gets a scannable QR code tied to its ERPNext record.

Architecture

The app talks to the same Python/Frappe REST layer as the Warehouse Portal and Customer App, running on ERPNext v16's isolated Bench. Firebase Cloud Messaging pushes shift and order events to the agent in real time; HMAC signing on the attendance QR flow prevents replay or spoofing of clock-in events.

Features

  • ERPNext-backed authentication and profile onboarding for new agents.
  • HMAC-signed QR attendance for shift clock-in/out.
  • Pickup-request acceptance with customer and locker details.
  • Inter-warehouse transfer missions with handoff confirmation between couriers.
  • Fleet asset tracking (e.g. scooters) via scannable QR codes.
  • FCM push notifications for shift and order events.

Development Process

The app was built directly against the Frappe REST endpoints I designed for the Warehouse Portal, so agent-facing actions (accepting a pickup, completing a transfer) write to the exact same records supervisors see live in the web portal — no separate sync layer, no drift between what the agent sees and what the office sees.

Challenges

Getting attendance verification right without adding friction for agents in the field was the core design problem — GPS alone is spoofable and a manual photo check-in is slow. The HMAC-QR approach keeps clock-in to a single scan while remaining cryptographically verifiable server-side.

Results

Delivery agents now run their entire shift — clock-in, pickups, transfers, asset handling — from one app, with every action immediately visible to warehouse supervisors through the shared backend.

Future Improvements

Offline support for low-connectivity warehouse zones, and in-app route guidance between pickup and delivery points.

06Gallery

Select any screen to open it full size.

01Onboarding02

02Shift & Attendance01

03Orders & Transfers02

04Fleet01