The Situation
Warm Presents is a husband-and-wife shop making handmade, one-of-a-kind gifts — the kind of pieces that sell once and are gone, plus custom engraved and monogrammed items made to order. They wanted their own store instead of paying marketplace fees indefinitely, but ruled out the obvious default fast: they didn’t want to pay $39 a month for a Shopify plan whether they sold anything that month or not.
That’s a real constraint, not just a preference. A new store’s first few months are unpredictable — some might do well, others might not sell a single piece while the couple is at a craft fair instead of restocking the site. A fixed monthly platform fee doesn’t care which kind of month it is. It’s the same bill either way.
There was a second problem underneath the pricing one: their inventory doesn’t look like typical retail inventory. A one-of-a-kind piece sells exactly once, then it’s gone — it’s not a SKU that gets restocked. A made-to-order engraved piece needs a turnaround time shown at checkout, not an “in stock” badge. Template commerce platforms are built around the restockable-SKU model first, and bend awkwardly around everything else.
Why Not Shopify?
Shopify’s Basic plan runs $39/month billed monthly (or $29/month billed annually) — before apps, before a paid theme, before transaction fees, and regardless of whether the shop sells anything that month.
Warm Presents’ actual infrastructure costs $9/month: Railway’s Hobby tier for the backend, and Netlify’s free tier for the storefront, which will move to a paid tier only once real traffic and sales justify it — a cost that scales up with success, not one paid in advance of it. Payment processing (Stripe) and shipping labels (Shippo) are both pay-per-transaction on top of that, the same as they would be on any platform — so the $9 vs. $39 gap is the real, apples-to-apples difference: a platform tax that exists whether the shop sells anything, versus a cost that only grows alongside actual sales.
What We Built
Instead of a hosted, all-in-one platform, Warm Presents runs on a fully custom, headless commerce stack:
- Medusa.js — an open-source, headless commerce backend running on Railway. No licensing fee, no bundled monthly platform charge, and full control over checkout, fulfillment, and order logic instead of working inside a platform’s fixed rules.
- A custom Astro storefront on Netlify — the same fast, hand-coded approach behind every Risal Systems site, not a theme.
- Stripe for payments, with automatic payment capture confirmed and configured correctly — a detail that matters more than it sounds like for made-to-order businesses, since an authorized-but-uncaptured payment can expire before a custom piece is even finished.
- A custom-built Shippo fulfillment integration for real-time shipping rates and label purchasing. No ready-made plugin for this exists for the current version of Medusa — every available community package targets an older version last updated years ago — so this piece was engineered from scratch rather than installed.
- Resend for transactional email (order confirmations, shipping updates), reached after ruling out traditional SMTP, which several hosting providers block or restrict outbound access to at lower service tiers — a pattern worth knowing about in advance rather than discovering after launch.
Verification over assumption
The build leaned on a simple standard throughout: confirm behavior against the real, live systems involved — the actual Stripe account, the actual Shippo account, a real end-to-end test order — rather than assuming an integration works because the documentation says it should. That standard caught real issues before they could reach a customer, including the payment-capture configuration mentioned above. It’s backed by 138 automated backend tests covering the order, payment, and fulfillment pipeline.
Where Things Stand Now
Warm Presents is in production and being finalized ahead of a public launch in the coming weeks. We’ll update this case study with real launch and sales data once the store is live to customers — for now, this is a look at what it actually takes to build real commerce infrastructure instead of renting it.
Custom E-Commerce Website Development, Without the Platform Tax
If your business doesn’t fit neatly into restockable-SKU retail, or a flat monthly fee doesn’t make sense for how your sales actually happen, a custom-built store is worth a real look — not just for the cost structure, but because the checkout, inventory, and fulfillment logic can be built around how your business actually works, instead of the other way around.
For more on what a project like this typically involves, see our realistic website build timeline breakdown or the long-term cost case for custom over template builds. For how this store’s running costs compare with other kinds of sites, see how much website maintenance costs. More guides and case studies are collected in the Web Development Resource Hub.
Want the full technical breakdown? We published the architecture, cost model, and trade-offs behind this build as a whitepaper: A Cost-Conscious eCommerce Architecture for Small Business, also available as a free PDF download.
Thinking about a custom online store?
We'll walk through what your business actually needs — inventory model, payment and shipping requirements, and realistic costs — before you commit to a platform that might not fit.
