Projects

Post-sale without third-party platforms

In-house tracking, messages in each customer's language and returns that refund themselves, with abuse control.

Details

Year 2025 – 2026
Outcome In-house tracking and returns, no platform fees
Tools Node.js, MongoDB, Shopify, Customer Account UI Extensions, Resend

How it works

  1. 1 Carriers webhooks and periodic polling
  2. 2 Statuses normalized into a single model
  3. 3 Estimated date a cautious promise to the customer
  4. 4 Stalled parcels detected during working hours
  5. 5 Message email in the customer's language
  6. 6 Return automatic refund after 72 hours

Context

Tracking, customer notifications and returns depended on external platforms, and returns took a lot of manual work: slow refunds, abuse cases and replacements that ended up being refunded twice.

What I did

I built in-house tracking on top of the shipping middleware. It normalizes statuses, works out a cautious estimated delivery date, detects stalled parcels during working hours and writes to customers in their language before they have to ask.

For returns, a Shopify extension in 13 languages lets customers choose between a refund and store credit valid for 12 months. The refund happens on its own 72 hours after the parcel reaches the carrier, except for customers on a blacklist fed by warehouse inspection. Going through thousands of refunds for returned shipments, I found money paid on orders that had already been replaced; that case is now blocked automatically. Customer service and the mobile app read all of this through an API.

Outcome

We stopped paying for tracking and returns platforms, without counting staff hours or courier savings. Customers hear from us before they ask, and post-sale no longer relies on anyone remembering anything.

What I learned

Before writing to a customer, check the status with the carrier again, and if in doubt, don’t send it. And anything that moves money ships switched off: first it logs what it would do, someone reviews it, and then it gets switched on.