A custom or headless store is a storefront you own in TypeScript (often Astro or React) talking to a commerce API: Shopify Storefront API, a PHP/Node catalog, or a small dedicated backend. I build this when themes fight you on performance, B2B flows, or editorial layout — not as a fashion choice.
Headless is a poor fit when you have no one to operate Node deploys, when a Shopify theme would ship the same funnel in a third of the time, or when the catalog is fifty SKUs and a Stripe payment link would do. I will recommend the cheaper path in writing.
What you get: information architecture, storefront UI, cart and checkout integration (hosted checkout or Stripe Elements — never a homemade card form that takes PAN), product listing and PDP, auth for B2B if needed, and observability (logs, health, staging). Inventory still has to come from somewhere: Shopify, a PIM, or ERP sync. SEO cannot be an SPA shell; we ship server-rendered HTML for product and category URLs. That is the same discipline as marketing sites, applied to commerce.
Related practice: euromoskitka is a commercial catalog on a modern front, not a toy demo. Timeline for a focused headless MVP is usually 8–16 weeks depending on the commerce backend and how much of checkout we keep on the platform.
