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.
eCourier
Dhaka, Bangladesh
Lead Flutter Engineer
TechTrioz · Production suite
Cross-Platform Flutter Engine



Four mobile apps covering booking, branch ops, field agents, and consumer P2P
Merchant · Agent · Branch · P2P on a shared logistics model
Booking → pickup → hub → delivery → payment, all on mobile
Scan-based receive, assign, and delivery confirmation in the field
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.
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.
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.
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.
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.
Scan-First Operational Pipeline
QR/scan events drive receive, assign, and delivery confirmation, reducing manual CN entry errors and speeding branch and agent handoffs.
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.
Payments & Billing Hooks
Delivery completion ties into collection providers and branch billing visibility so cash and digital settlement stay inside the same parcel lifecycle.
Merchant
Booking
P2P
Consumer
Branch
Hub ops
Agent
Last mile
Shared parcel lifecycle
Book → scan → hub → deliver
Logistics backend
REST · FCM · payments
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.
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

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

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

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

Hurdles & Solutions
Technical Challenges & Trade-Offs
Real production obstacles overcome during engineering and deployment.
Keeping four apps consistent on parcel state without coupling their UIs
Shared status vocabulary and scan/assignment events across clients, while each app only exposes the actions its role is allowed to perform.
Branches, agents, merchants, and P2P users always see a coherent lifecycle even when they never open the same screen.
Branch floors that could not depend on desktop tooling
Prioritized scan-first receive/assign flows, compact dashboards, and reporting so the critical path lived on phones.
Branches could run day-to-day parcel ops with far less reliance on Windows/web desks in cramped spaces.
Agent cognitive load under messy real-world delivery outcomes
Batched lists, area/merchant filters, and explicit multi-step outcomes (unavailable, cancel, reroute) instead of a flat undifferentiated queue.
Agents could finish a route with fewer mistakes and less time hunting for the next relevant parcel.
Process mismatch between legacy ops and the new mobile model
As lead, I partnered with operations to adjust a few internal processes so the suite matched how work actually needed to move.
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.
Merchant, Agent, Branch, and P2P shipped to production stores
Booking through delivery and payment without desktop for branch-critical steps
QR-driven receive, assign, and delivery confirmation in daily use
Owned suite delivery and process alignment with logistics operations
Technology Breakdown
Tools, Frameworks & Libraries
Categorized technical stack employed to achieve reliability, performance, and store compliance.