Logistics · Multi-App Suite

eCourier Mobile Suite

Four production Flutter apps powering end-to-end parcel logistics (Merchant, Agent, Branch, and P2P) for one of Bangladesh’s largest courier networks.

Client / Market

eCourier

Dhaka, Bangladesh

Role & Scope

Lead Flutter Engineer

TechTrioz · Production suite

Target Platforms
iOSAndroidMerchantAgentBranchP2P

Cross-Platform Flutter Engine

Production Store Links
eCourier Merchant home: book a parcel and track shipments
eCourier Agent scan pipeline
eCourier Branch dashboard

Four mobile apps covering booking, branch ops, field agents, and consumer P2P

4 AppsUnified Suite

Merchant · Agent · Branch · P2P on a shared logistics model

E2EParcel Lifecycle

Booking → pickup → hub → delivery → payment, all on mobile

QRScan Pipeline

Scan-based receive, assign, and delivery confirmation in the field

64District Reach

Designed for national-scale branch and agent operations

Executive Summary

eCourier is one of Bangladesh’s largest logistics companies. Their network runs through merchants, person-to-person (P2P) customers, field agents, and branch teams, historically glued together by cramped desktop/web tools that struggled on the warehouse floor.

As Lead Flutter Engineer, I owned the mobile suite that replaced those bottlenecks: four production apps that book parcels, onboard sellers, assign and track agents, scan consignments, move inventory through hubs, and complete multi-step last-mile delivery with payment capture.

Beyond shipping features, I worked with operations to reshape a few internal processes so the software and the business moved in the same direction, reducing reliance on Windows/web desks and giving branches a flexible, phone-first control surface.

The Challenge

The Challenge: Running National Logistics Without a Mobile Control Plane

Parcel volume only works when every role (merchant, P2P customer, branch operator, and agent) shares the same status model. Desktop workflows broke down in cramped branches, field agents needed offline-friendly tools, and merchants required heavyweight onboarding that web forms handled poorly on mobile.

01

Fragmented Role-Specific Workflows

Booking, sorting, pickup, hub transfer, last-mile delivery, and COD/billing lived in different tools. Branches needed one app to receive parcels, assign agents, track schedules, and report throughput without bouncing to a desktop.

02

Merchant & P2P Onboarding Friction

Merchants had to submit a large validation set before they could book. P2P users needed a lighter path. Both still had to capture pickup/delivery addresses and parcel metadata accurately on first try.

03

Agent Field Complexity

Agents juggle pickup requests, multi-step delivery outcomes (customer unavailable, cancel, reroute), batching by area or merchant, attendance, and payment collection, all under time pressure.

04

Desktop Dependency on the Branch Floor

Branches were space-constrained. Replacing Windows/web ops with a scan-first mobile app was a hard requirement for receive, assign, hub handoff, and delivery marking.

Project Scope

Engineering Objectives & Delivery Scope

  • Ship four coordinated Flutter apps sharing parcel status semantics across Merchant, Agent, Branch, and P2P.
  • Enable merchants and P2P users to book parcels with pickup/delivery details and complete role-appropriate onboarding.
  • Give branches a mobile ops hub: dashboards, agent assignment by area/merchant, receive/scan flows, hub transfers, and reporting.
  • Equip agents with pickup confirmation (including images), batched delivery lists, filters, attendance, and multi-outcome delivery handling.
  • Integrate scan/QR pipelines and payment collection (e.g. Picash and related providers) into the operational loop.
  • Reduce branch dependence on desktop systems by making the critical path fully mobile.
  • Partner with operations to simplify process steps where the product and the business needed to meet in the middle.

Engineering Foundation

Architecture & Technical Design

The suite is structured as four role-focused Flutter clients on a shared logistics domain (parcel states, scan events, assignments, and billing) so each app stays simple for its users while remaining consistent end to end.

Role-Separated Product Surfaces

Merchant and P2P optimize for booking and tracking. Branch optimizes for volume ops, assignment, and analytics. Agent optimizes for field execution. Shared contracts keep status transitions trustworthy across apps.

Clean ArchitectureMulti-App SuiteDomain Consistency

Scan-First Operational Pipeline

QR/scan events drive receive, assign, and delivery confirmation, reducing manual CN entry errors and speeding branch and agent handoffs.

QR ScanningConsignment IDsField Ops

Assignment & Batching Logic

Branches map agents to areas and merchants; agents see filtered, batched work by delivery zone or client so the list matches how they actually move through a day.

RoutingBatchingFilters

Payments & Billing Hooks

Delivery completion ties into collection providers and branch billing visibility so cash and digital settlement stay inside the same parcel lifecycle.

PicashCODBilling

Merchant

Booking

P2P

Consumer

Branch

Hub ops

Agent

Last mile

Shared parcel lifecycle

Book → scan → hub → deliver

Logistics backend

REST · FCM · payments

Four apps share one parcel lifecycle and one backend.

App suite

Each role, then the screens they actually use

Follow one client at a time. The screens sit in journey order so you can read the work as a path, not a dump of captures.

App 01 · Demand

Merchant App

Business shippers & marketplace sellers

Merchants are the high-volume booking surface. After a heavyweight onboarding and validation flow, they create consignments with pickup/delivery details, manage add-ons, raise support tickets, and follow parcels after booking, feeding work into the branch network.

Merchant on Google Play
  • Secure login and authenticated merchant sessions
  • Extensive onboarding / KYC-style validation before booking rights
  • Parcel booking with pickup address, delivery address, and required logistics fields
  • Post-booking confirmation and parcel follow-up
  • Merchant add-ons and service options at booking time
  • Ticket / support dashboard for operational issues

Follow the journey →

App 02 · Consumer

P2P App

Individual person-to-person senders

P2P is the lighter consumer twin of Merchant. Onboarding is simpler, but senders still check rates, book parcels, track consignments through branches, and open tickets, without the heavy business validation merchants require.

P2P on Google Play
  • Lightweight consumer registration vs merchant KYC depth
  • Rate checking before committing to a booking
  • P2P parcel booking with pickup and delivery addresses
  • Live parcel tracking through the eCourier network
  • Branch-level tracking visibility for in-transit parcels
  • Ticket dashboard for consumer support

Follow the journey →

App 03 · Ops Hub

Branch App

Branch operators & logistics coordinators

Branches orchestrate the network. They receive bookings from Merchant/P2P, assign agents to areas and merchants, track daily load and schedules, scan parcels in and out, push stock toward hubs, receive hub returns for last-mile, mark delivery batches, and run pickup/delivery reporting, replacing cramped desktop/web desks with a phone-first control surface.

Branch on Google Play
  • Branch login and role-gated ops sessions
  • Live dashboard across pickup, hub, hold, return, and in-transit stages
  • Scan & assign entry for starting pickup/delivery processing
  • Agent assignment by area, merchant affinity, and daily capacity
  • Branch receive when agents return parcels from the field
  • QR scanning for accurate consignment handoffs
  • Hub outbound processing and inbound receive after hub return
  • Mark parcels for delivery and re-assign last-mile agents
  • Pickup and delivery analytical reports
  • Agent location / schedule awareness and parcel volume visibility

Follow the journey →

App 04 · Field

Agent App

Pickup & delivery field agents

Agents execute the physical loop. They see only their assigned segment, confirm pickups with images and scans, return stock to the branch, then run multi-step deliveries (cancellations, customer-not-available, reroutes, scheduling) with filters that batch by area, client, or same-merchant density. Attendance and payment collection (Picash and related providers) close the day.

Agent on Google Play
  • Agent login and attendance / duty status
  • View assigned pickup and delivery segments only
  • QR scanning to claim and confirm parcel events
  • Scanned list review for day’s claimed consignments
  • Pickup confirmation with image evidence
  • Return parcels to branch after field pickup
  • Batched delivery lists filtered by area, client, or merchant
  • Multi-step delivery outcomes: cancel, unavailable, reroute, schedule
  • Payment collection via Picash / integrated providers
  • Delivered confirmation closing the parcel on the agent side

Follow the journey →

Deep Dive

Key Technical Implementations

Detailed breakdown of core features addressing complex mobile engineering requirements.

Cross-App

Shared Parcel Lifecycle Across Four Clients

One status model, four role-safe action surfaces

Merchant and P2P create demand; Branch orchestrates assignment, receive, hub transfer, and delivery marking; Agent executes pickup and last-mile. Every transition stays coherent because the apps share parcel semantics even though their UIs never mix.

  • Booking events from Merchant/P2P become actionable work in Branch
  • Branch assignments become the only parcels Agents see
  • Scan and delivery events flow back so every role watches the same truth
Cross-App
Shared Parcel Lifecycle Across Four Clients
Operations

Scan-First Branch & Agent Ops

QR pipelines instead of desk entry

Branches and agents rely on scan events for receive, assign, and delivery confirmation. That cut manual CN mistakes and made cramped branch floors viable without Windows/web desks.

  • Scan & Assign as the primary branch entry into processing
  • Agent scan + scanned-list batching for field clarity
  • Receive flows when parcels return from agents or hubs
Operations
Scan-First Branch & Agent Ops
Last Mile

Field Exceptions & Payment Close

Real delivery outcomes and collection in-app

Last mile is messy: cancellations, customer unavailable, reroutes, and scheduling all happen on the Agent app, with payment collection tied into Picash and related providers and billing visibility back at the branch.

  • Explicit multi-step outcomes instead of a flat success/fail toggle
  • Area / merchant filters so agents batch efficiently
  • Payment and billing registered as part of delivery completion
Last Mile
Field Exceptions & Payment Close
Leadership

Process Design Alongside Engineering

Lead role included changing how work moved

Shipping four apps was not enough. A few internal eCourier processes had to change so mobile matched reality. As lead engineer I partnered with operations to smooth those steps, which is why the suite could actually replace desktop dependence.

  • Branch-first mobile workflows designed for cramped floors
  • Clearer agent↔branch handoffs after pickup and hub return
  • Adoption driven by process fit, not only feature completeness
Leadership
Process Design Alongside Engineering

Hurdles & Solutions

Technical Challenges & Trade-Offs

Real production obstacles overcome during engineering and deployment.

Challenge

Keeping four apps consistent on parcel state without coupling their UIs

Engineered Solution

Shared status vocabulary and scan/assignment events across clients, while each app only exposes the actions its role is allowed to perform.

Measurable Impact

Branches, agents, merchants, and P2P users always see a coherent lifecycle even when they never open the same screen.

Challenge

Branch floors that could not depend on desktop tooling

Engineered Solution

Prioritized scan-first receive/assign flows, compact dashboards, and reporting so the critical path lived on phones.

Measurable Impact

Branches could run day-to-day parcel ops with far less reliance on Windows/web desks in cramped spaces.

Challenge

Agent cognitive load under messy real-world delivery outcomes

Engineered Solution

Batched lists, area/merchant filters, and explicit multi-step outcomes (unavailable, cancel, reroute) instead of a flat undifferentiated queue.

Measurable Impact

Agents could finish a route with fewer mistakes and less time hunting for the next relevant parcel.

Challenge

Process mismatch between legacy ops and the new mobile model

Engineered Solution

As lead, I partnered with operations to adjust a few internal processes so the suite matched how work actually needed to move.

Measurable Impact

Software adoption stuck because the workflow and the product were designed together, not bolted on top of broken steps.

Outcomes

Impact & Production Outcomes

The eCourier Mobile Suite turned a national courier’s booking, branch, agent, and consumer flows into a coherent Flutter system. Merchants and P2P users book; branches orchestrate; agents execute; hubs and payments close the loop, with less desktop friction and clearer operational ownership on every parcel.

4Live Store Apps

Merchant, Agent, Branch, and P2P shipped to production stores

E2EMobile Ops Path

Booking through delivery and payment without desktop for branch-critical steps

ScanField Accuracy

QR-driven receive, assign, and delivery confirmation in daily use

LeadEngineering Role

Owned suite delivery and process alignment with logistics operations

Explore the live app on official stores

Technology Breakdown

Tools, Frameworks & Libraries

Categorized technical stack employed to achieve reliability, performance, and store compliance.

Core Framework & Language

FlutterDartClean ArchitectureMulti-App Suite ArchitectureRole-Based Clients

Networking & Realtime

REST APIAPI ChainingFCM Push NotificationsAuth & Session Security

Field Hardware & Ops

QR / Barcode ScanningImage Capture for Pickup ProofAttendance / Scheduling

Payments & Billing

Picash IntegrationCash Collection FlowsBranch Billing Visibility

Product & Design Collaboration

Figma HandoffOperational Process DesignUsability Refinement

Delivery & Stores

CI/CDGoogle Play ConsoleApple App Store ConnectProduction Release Cadence