Portal EPP
Tracking safety gear from the warehouse to the crew member who wears it, for a port operator in Peru.
- Year
- 2026
- Role
- Solo · End to end
- Stack
- TypeScript · React · Laravel · PostgreSQL · Mantine
- Status
- In production

A port operator hands out protective equipment to crews across a fleet of vessels. The warehouse packed everything from an Excel list, and once the truck left, nobody really knew what had arrived where. When a crew member said they never got their boots, there was no way to check.
Portal EPP gives every package a code. The warehouse uploads the list, packs items into boxes on screen, prints the labels and sends the shipment out. On the other end, the captain scans the box when it arrives, and each crew member scans their own bag and ticks off what’s inside. If something is missing or the wrong size, they report it right there with a photo. Everyone involved gets an email, and the admins get a dashboard and reports.
I built it end to end: the data model, the API, the web app and the scanning flow, which had to be quick to use on a phone while standing on a deck. It’s in daily use and I still ship improvements as the crews give feedback.
- Design
- End to end
- Engineering
- FullStack
- Infrastructure
- Vercel · Laravel Sail (Docker) · PostgreSQL · S3 · GitHub Actions
- Link
- Coming soon
Define
Followed a box from the warehouse to a crew member's hands to find every point where things got lost, then modeled shipments, packages and items around those handoffs.
Design & build
An API with roles for admin, warehouse, captain and crew, and a web app with drag-and-drop packing, printable labels and a phone scanner for receiving.
Ship & run
Tests on every push, the app on Vercel, and a steady stream of small fixes since launch, mostly around scanning and reporting.