The problem
RealmGX already had the hard part: real trading-card inventory and an established seller workflow. A separate website catalog would create duplicate stock data and another system to keep synchronized.
Case study · TCG e-commerce
A collector-first storefront connected to the inventory system already running the business.


RealmGX already had the hard part: real trading-card inventory and an established seller workflow. A separate website catalog would create duplicate stock data and another system to keep synchronized.
cranberriestudios split operations from presentation. A dedicated middleware synchronizes and normalizes inventory while Next.js owns discovery, cart state, product presentation, and checkout.
One inventory source now feeds a branded multi-TCG shopping experience with live stock visibility, filtering, seller proof, cart persistence, and Stripe payment handling.


Live-site proof captured on October 3, 2026.
1,548
Cards visible at capture
The live storefront reported 1,548 cards across its drop wall when these case-study screenshots were captured.
296
Lifetime reviews
The live storefront surfaces the seller review total directly in the hero proof block.
659+
Total sold
The seller history shown on the live storefront provides purchase-context proof before customers browse inventory.
5
TCG filter lanes
Pokemon, Magic, Dragon Ball Super, Yu-Gi-Oh!, and an Other TCG bucket organize the live inventory wall.
01
The storefront merges live middleware inventory with a static fallback, deduplicates listings, and presents the result through grid/table views, game filters, set filters, and sorting.
02
Cart state persists locally while add-to-cart actions validate current stock against the middleware when it is reachable.
03
Checkout can run inside RealmGX with Stripe Embedded Checkout, while the server creates sessions and validates inventory again before payment.
04
The checkout route calculates economy versus tracked shipping, packaging surcharges, large-order handling, and enables Stripe automatic tax.
05
A separate FastAPI service uses Playwright-driven Seller Portal exports, normalizes inventory into SQLite, and exposes shop-oriented API endpoints to the storefront.
06
Next.js owns the customer experience; FastAPI, SQLite, synchronization, and seller-session operations remain behind a dedicated middleware boundary.
The web app and inventory service are separate deployable concerns. That keeps Playwright, seller-session handling, SQLite, and synchronization logic out of the customer-facing runtime.
We can build the customer-facing layer around the system your business already uses instead of making staff maintain the same catalog twice.