Web Development

Mezzex Carrier Service - Multi-Carrier Shipping Management Platform

A comprehensive ASP.NET Core web application that integrates multiple UK shipping carriers (RoyalMail, Amazon, Evri, One World) into a unified platform for streamlined shipping label generation, tracking, and management.

What it delivers

  • Royal Mail, Amazon, Evri and One World dispatch from one screen.
  • Bulk label runs with print-ready PDFs generated from HTML templates.
  • Live tracking and Excel manifests kept alongside the order history.
Mezzex Carrier Service dashboard showing integrated shipping management interface with multiple         carrier options and real-time tracking capabilities

What was built

  • A single dispatch screen covering four UK carriers - Royal Mail, Amazon Shipping, Evri and One World - so staff stop logging into four separate portals to send the same day's orders.
  • Label generation that returns a print-ready PDF per order, with the carrier's own barcode and service level applied.
  • Bulk label runs, so a picking list of a hundred orders is one action rather than a hundred.
  • Live tracking pulled back from each carrier and shown against the order, rather than left in the courier's own portal.
  • Order and shipment history that stays searchable after dispatch, for the inevitable "where is it" call.
  • Spreadsheet import and export for orders and manifests, because the surrounding business runs on Excel whether the software likes it or not.
  • Transactional email to customers and staff at the points that matter - dispatch, exception, delivery.
  • Card payment handling for postage top-ups.
  • Role-based accounts separating warehouse staff from administrators.

How it is built

  • ASP.NET Core 9 with Entity Framework Core over SQL Server.
  • Each carrier sits behind a common interface, so Royal Mail's API and Evri's do not leak their differences into the rest of the application - and a fifth carrier is an addition rather than a rewrite.
  • PDFsharp and PuppeteerSharp render the labels and documents; PuppeteerSharp means a label template is HTML and CSS, which is far quicker to adjust than a binary report designer.
  • ClosedXML and EPPlus handle the Excel import and export paths.
  • Stripe.NET for card payments, MailKit for transactional email, Cloudinary for image storage.
  • Serilog for structured logging - with four third-party APIs in the request path, "which call failed and with what payload" is a question that gets asked often.
  • Bootstrap and AdminLTE for the operations UI, chosen so the screens stay dense and fast on the warehouse's own hardware.

The part that mattered most

Carrier APIs disagree about almost everything - address formats, service codes, what counts as an error, and how often they are available. The work that mattered was not the happy path but the failure handling around it: a carrier being down at four in the afternoon cannot be allowed to stop the rest of the day's dispatch, and a rejected label has to say plainly which field the carrier objected to so a packer can fix it without calling anyone.

Gallery

Mezzex Carrier Service - Multi-Carrier Shipping Management Platform screenshot 1
Mezzex Carrier Service - Multi-Carrier Shipping Management Platform screenshot 2