Project · 2025
Customer Document Portal
Cut manual certificate-sending by ~90%
- Role
- Full-stack developer — auth, Shopify verification, and document delivery.
- Context
- Customers kept emailing the admin for certificates that already existed; every request was answered by hand.
- Timeline
- 2025
less manual certificate-sending
self-service document access
constraints & discovery
Customers must only ever see documents for products they actually ordered. Verification had to reconcile Shopify order history with admin-created accounts.
problems → solutions
problem 01 / 02
Certificate requests were a manual, per-customer email chore.
→ solution
A gated portal that maps a logged-in customer to their own certificates for instant download.
problem 02 / 02
Access had to be proven, not assumed.
→ solution
Customers are verified against live Shopify orders; the admin can also provision accounts directly.
architecture decisions
- 01Next.js app with JWT auth over a PostgreSQL entitlement model.
- 02Shopify GraphQL lookups resolve which products — and therefore which documents — a customer may see.
- 03Document access is scoped per account so no cross-customer leakage is possible.
learnings
Most 'support load' is really an access problem — give people a scoped door and the tickets disappear.
Next project
Cut batch-planning time by ~70%