Iron Threads Team Portal
Team-order portal on a live Shopify store with coach accounts and order board
Typeclient
Statusshipped
Updated2026-09-21
Commits10
SourcePrivate
What it is
A team-order front end for a wrestling apparel store's live Shopify catalog. Coaches build a package, enter the roster once, and check out with every athlete's name, number and size attached to cart lines through the Storefront API. Supabase holds coach accounts, saved teams and rosters, order history and first-party funnel analytics behind RLS, and admins get an order board with status history and notes.
The problem
Team orders need a name, number and size per athlete, which a standard Shopify cart cannot collect cleanly.
How it works
- Products, prices, sizes and variants are read live from the Shopify Storefront API; cartCreate builds one line per athlete per garment with Athlete, Number, Size and Team attributes and returns a real checkoutUrl.
- Volume tiers map to real discount codes configured in the Shopify admin.
- Supabase migrations define teams, athletes, team_orders, portal_events, order_updates and a private team-designs bucket, all behind RLS with an admin allowlist.
- A team designer, logo and proof uploads, and an admin order board that tracks checkout-started through arrived.
Stack
ReactViteTypeScriptShopify Storefront APISupabaseVercel
Disciplines
For your business
Custom ordering portals layered on a client's existing Shopify store for bulk or team purchases.