Employment work · Business software
Shipment exception platform
Watches every parcel an online retailer ships, finds the ones that have stopped moving, and gives customer service a short list to work before customers have to ask.
I built this as the in-house developer for an online parts retailer. It is employment work, not a Code Hawk contract. The company's name and data are private.
- 10,000+
- parcels tracked
- 110,000+
- carrier scan events stored
- 1,700+
- automated tests
- 7 weeks
- first commit to live
The situation
The retailer’s store and fulfillment systems knew when a label was printed and a box left the building. After that, nobody knew much. A parcel could sit at a depot for a week, get refused or vanish, and the first sign was usually an unhappy customer writing in. Then someone had to look the order up by hand in the store admin, the fulfillment system and the carrier’s site.
What was built
A system that watches every parcel every day, works out which ones need a person, and puts them on one board.
- Data in from everywhere. Fulfillment webhooks with an hourly catch-up, daily polling of three major carriers’ official tracking APIs, and a nightly check against the storefront so no order is missed.
- A record that is never overwritten. Every scan is stored as it arrived. Carrier status codes, which differ between carriers, are translated into one vocabulary and tested against real carrier responses.
- Rules for what counts as a problem. Lost, stalled, overdue, refused, held, never collected and voided labels. Each is worked out from timestamps when the board loads, so changing a rule never leaves old records in a contradictory state.
- A work board for staff. The board is a prioritized list. Each parcel has its own page that pulls the store, shipper and carrier details into one view, with claim, note, snooze and resolve controls and a ready-to-edit email draft. It works on a phone.
- A tracking page for customers. Found by tracking number, order number or email, in the store’s branding, with limits that stop people guessing other customers’ orders, and forms for reporting a problem or starting a return.
- Careful roll-out. Automatic customer emails exist but run in “shadow mode”: every decision is logged and nothing is sent until the team decides the volume and accuracy are right.
Decisions worth explaining
No scraping. The platform uses the carriers’ official APIs only. Scraped data breaks without warning and can break terms of service.
No duplicate systems. Refunds and returns stay in the store and fulfillment systems. The platform links to them instead of copying them, so there is one source of truth for money.
Built to be run by one person. One command deploys in about thirty seconds and rolls back by version. The system checks its own health and sends one alert when something fails and one when it recovers, not a message every five minutes.
Customer data handled carefully. Staff sign in through the company’s identity provider. Screenshots used for training are scrubbed of customer details automatically. The screens on this page show the real application running against invented data.
Outcome
The platform went live in October 2026. Of more than a thousand parcels in transit on a typical day, the board shows the 15 to 20 that need a person. In the first full measurement, 99.7% of parcels shipped the previous week showed customers a useful tracking page.
What this means for your business
Most small businesses do not need a shipment platform. Many do have the same underlying problem: information sits in three systems, someone checks them by hand, and problems are found late. The same approach works at a smaller scale. Pull the data together automatically, decide in writing what counts as a problem, and give the people doing the work one list instead of five browser tabs.