Abhinav Pandrate / Shopify case study
Charlie Oven HQ
An internal operations panel that syncs every Shopify order, runs the order board, books UPS labels and writes the factory emails.
Role: Designed and built
Year: 2026
Problem
Orders, shipping, factory paperwork and customer emails were spread across Shopify, email threads and spreadsheets, with two factories and several carriers to coordinate by hand.
What I built
- An internal operations panel at hq.charlieoven.com
- Syncs every Shopify order and the full catalogue, and runs an order board
- Generates packing slips and factory emails, books UPS parcel labels and logs pallet tracking
- Google sign-in restricted to the company domain, role-based access and an audit log
- A Claude connector so staff can query and edit orders in plain English
Stack
Node, Fastify, PostgreSQL, Docker, Caddy, Hetzner, Google OAuth, Shopify Admin GraphQL, UPS API, Klaviyo API
Outcome
- Live at hq.charlieoven.com
- Backfilled all 1,105 historical orders, matching Shopify's count exactly
- A data audit found 81% of recent orders contained products that couldn't be priced for shipping, which became the fix list for the catalogue
What I learned
Messy real data is the actual project. Writing the audit took longer than the feature it unblocked.
More work
- Network design: Multi-subnet network designed and built in Cisco Packet Tracer
- Phishing simulation: A Gophish campaign in a lab, from landing page to tracking
- Checkout race condition: A time-of-check/time-of-use issue in a Shopify checkout flow
- Wargames & labs: OverTheWire, TryHackMe and PortSwigger Web Security Academy
- Charlie Oven store: Running the Shopify store for a British outdoor oven maker
- Charlie Oven HQ: Internal operations panel for orders, shipping and factory paperwork
- 3D kitchen configurator: Plan an outdoor kitchen in 3D, then buy it on Shopify
- Stockist: B2B wholesale app for Shopify
- STYRKR CEL50 promo: A Shopify Function in place of native discounts
- STYRKR ERP & automation: NetSuite through Celigo, plus n8n for staff on- and offboarding