01 · The challenge
What needed solving
A freight operator was tracking packages across spreadsheets and an email thread per shipment. Clients had no self-serve visibility into where their cargo was, invoices were emailed PDFs that often went missing, under-declared invoice values were hard to catch at scale, and the office had no audit trail when a package went astray.
02 · Our approach
How we framed the work
We started with a discovery sprint to map the user journey, business goals and real constraints. From there we wrote a fixed-scope plan: clear milestones, weekly review gates on a staging URL, and a written exit criterion for every phase. The web development space rewards teams that ship — not teams that plan — so we biased the engagement towards working software from week two onward.
03 · The solution
What we built
We built a Laravel platform with three role-aware surfaces: admins manage every shipment, employees handle day-to-day status updates, and clients see only their own packages. Each Package has a PackageStatusHistory log written on every state change, so reconstructing what happened to a shipment is one query. ShippingInvoice + ShippingInvoiceItem power line-item invoicing with a download/view endpoint, and a MissingPackageReport workflow lets clients flag lost cargo with a structured form rather than an email. AI-powered invoice validation via the Claude Vision API scores every uploaded invoice 1–5 stars on declared-value accuracy, item-description match, invoice legitimacy and line-item consistency — scores 4–5 are auto-approved with no admin review, while scores 1–3 are flagged for manual review with the AI reasoning attached. WhatsApp notifications through Wati send customers real-time shipment status updates. Sentoo handles payment collection, and SMTP2GO delivers transactional email.
04 · The results
What changed for the client.
Clients self-serve shipment status — support tickets for "where is my package?" dropped sharply
Every status change recorded with timestamp and actor — full audit trail per package
Invoices generated, stored and re-downloadable on demand — no more lost PDF attachments
Admin team now reviews only flagged invoices instead of every single one
Significant reduction in under-declared invoice values in the first week of deployment
Real-time WhatsApp updates eliminated most inbound "where is my package?" calls
Tech stack
Want a similar outcome for your business? We'd love to hear about it.