Abhinav Pandrate / Shopify case study
Stockist
A Shopify app for wholesale ordering, with trade pricing per customer and per product. App Store submission in progress.
Role: Designed and built
Year: 2026
Problem
Shopify's built-in B2B features need Shopify Plus. Smaller brands selling to retailers handle trade pricing by email and spreadsheet.
What I built
- Trade pricing set per customer and per product
- Stockists submit their basket as a draft order for the merchant to invoice by bank transfer
- A fallback uses native discounts so it works without Plus
- Three billing tiers
Stack
React Router v7, TypeScript, Polaris, Prisma, PostgreSQL, Shopify Functions, Railway, Resend
Outcome
- Working end to end in production
- App Store submission in progress
What I learned
The platform's limits (Functions need Plus on custom apps) shape the product more than the feature list does.
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