MVP Development: Last-Mile Delivery SaaS

Job ID: 40174379

Budget: $250 – $750 CAD

Job Title

Build MVP: BlessShipping Last-Mile Delivery SaaS (ERPNext + Next.js Portal + Driver PWA) — Montreal

Overview

We operate a warehouse and drivers in Montreal. We need an MVP B2B last-mile delivery system for Amazon/Temu/Shopify sellers. Merchants upload delivery orders (CSV), our dispatch team batches orders into routes and assigns drivers, and drivers complete deliveries with proof of delivery (POD photo). The MVP must be stable, role-based, and deployable on our server.

Tech Stack (Required)

ERPNext/Frappe as core backend (users, roles, Customer, invoicing)

Custom Frappe app (doctypes + REST APIs) for dispatch/driver/routing entities

Next.js merchant portal (upload CSV, track orders, POD links)

Driver PWA (mobile web) for route list, stop actions, POD upload

Docker-based deployment preferred

Core MVP Scope
Roles

Merchant, Dispatcher, Warehouse Staff (optional), Driver, Admin

Data Model (Minimum)

Merchant = ERPNext Customer

Delivery Order (ERPNext Delivery Note OR custom DeliveryOrder)

Custom doctypes: Driver, Vehicle, DispatchRun, RouteStop, POD

Order Workflow (Must)

Created → Scheduled → Out for Delivery → Delivered → Failed/Exception

Merchant Portal (Next.js)

Login

CSV upload (required)

Orders list + filters by status/date

Order detail view + POD photo link (when delivered)

Import result report: imported_count + failed_rows with errors

Dispatcher Console (ERPNext Workspace or separate UI)

View “Ready to Schedule” orders

Create DispatchRun (date/time)

Route optimization (OSRM/GraphHopper) + manual reorder

Assign driver + vehicle

Monitor progress (list; map optional)

Driver PWA

Login

Today’s route (ordered stops)

Stop actions: Arrived / Delivered (POD photo required) / Failed (reason + optional photo)

Navigation link per stop (Google Maps link is acceptable)

Routing & Geocoding

Address geocoding (configurable provider)

Route optimization integration (OSRM trip service acceptable for MVP)

Manual override by dispatcher

Billing (Basic)

Monthly merchant invoice export (PDF/CSV), based on Delivered orders

Simple pricing rules (base fee + service level surcharge)

API Requirements (Minimum)

Merchant: import CSV, list orders, order detail

Dispatcher: create dispatch run, optimize route, assign driver

Driver: fetch today route, update stop status, upload POD

Security / Permissions (Must)

Merchant sees only own orders

Driver sees only assigned stops/routes

Audit log for delivery outcome updates

Basic rate limiting / validation for file uploads

Deliverables

Deployed MVP on our server (Docker preferred)

Source code in GitHub (clean commits, README)

Setup guide (install, configure, run, backup basics)

Admin guide (create merchant, import orders, dispatch, driver POD)

Basic automated tests for core APIs

2–4 weeks post-launch bug fix support

Experience Requirements (Strict)

Applicants must demonstrate real, production experience in:

ERPNext/Frappe development (custom doctypes, permissions, REST APIs)

Last-mile logistics workflows (dispatch, routing, POD)

Next.js (merchant portal) and PWA/mobile web (driver workflow)

Deploying to production (Docker, reverse proxy, SSL, backups)

Provide with Application

Links/screenshots of similar ERP/logistics projects

Proposed architecture diagram + tech choices (ERPNext version, routing provider)

Milestone plan and timeline

Weekly availability + team roles (if team)

Suggested Milestones

Week 1–2: ERPNext setup, custom doctypes, roles, CSV import

Week 3–4: Dispatch runs, routing integration, assignment workflow

Week 5–6: Driver PWA + POD + full status flow

Week 7–8: Next.js merchant portal tracking + billing export + deployment hardening

CSV Spec (MVP)

Columns:
merchant_reference_id, recipient_name, recipient_phone, street, city, province, postal_code, service_level (same_day/next_day), package_size (S/M/L), notes
Related categories: PHP JavaScript ERP MySQL HTML Docker API Development Next.js