Parcel booking and tracking system for an international freight company
An international freight company handling vehicle, air and sea shipments had no digital system for booking parcels or tracking shipments. Everything was managed by hand, and customers had no way to follow their cargo.
- My role
- Backend developer - freelance
- Team
- Solo - freelance engagement
- Timeline
- 3 weeks to delivery
- Constraint
- A short freelance timeline with no existing codebase to build on
The problem
Freight moved across air, sea and vehicle shipping with no central record of where a parcel was at any point. Customers called in for updates and staff looked them up by hand. The brief: a booking flow to register parcels, and a tracking page where customers could follow their shipment without contacting the office.
The tradeoff I made
I rendered the pages on the server with EJS instead of building a separate frontend. A React frontend with its own API would have been more flexible later, but it was more than the project needed and wouldn't have been deliverable in three weeks by one person. Server-rendered views meant a simpler stack, fewer moving parts and on-time delivery.
Deliverable within scope over future flexibility.
Outcomes
End-to-end parcel booking and tracking system, from registration to live status updates, replacing a fully manual process
Delivered on time as a solo freelance engagement with no prior codebase
Shipping modes supported - air, sea and vehicle freight - each with its own tracking flow
What I would do differently
I would give it a more modular structure from the start, separating route handlers, business logic and data access. It worked for the scope it was built for, but a cleaner foundation would have let it grow without a rewrite.