Fulfillment portal
B2B tooling for third-party print partners
- B2B
- AngularJS
- Firebase
- Shopify
- EasyPost
Overview
When Takeout Order outgrew email chains and spreadsheets, I built the tool my print partners use every day — a B2B web portal for receiving jobs, printing, packing, and shipping order volume without engineering support.
Problem
Third-party printers needed one place to receive jobs, print, pack, and ship — without spreadsheet chaos or constant back-and-forth with the brand. Non-technical operators had to run daily fulfillment reliably.
Architecture
Shopify orders flow through Firebase Cloud Functions into the printer portal. Operators move orders through a clear state machine — received → in production → shipped or exception — and generate EasyPost shipping labels from the same interface.
- Order state machine with exception handling for production issues
- Shopify order ingest and status sync
- EasyPost label generation and carrier tracking
- UX designed for non-engineers — large actions, clear status, minimal cognitive load
Stack & honesty
The portal runs in production on AngularJS and Firebase because it is reliable and I can maintain it solo. My greenfield work is TypeScript and Next.js — I'm not precious about frameworks, I'm precise about systems that don't break when an operator misses a click.
Outcome
Print partners use the portal daily for fulfillment. It reduces manual coordination between brand, printers, and carriers — unglamorous, load-bearing software shaped around how people actually work.