← Back to PortfolioCase Study · E-commerce

Casper Gadgets

Migrating a seven-store gadget retailer off WooCommerce onto a modern, dual-database platform built to carry real transaction volume.

Homepage of caspergadgets.com — Casper Gadgets
Client
Casper Gadgets — premium consumer electronics retailer, Lagos
Sector
E-commerce · Consumer electronics
Engagement
Full platform migration — WooCommerce to a headless Sanity + Supabase rebuild
Delivered by
Inventrium — IBSS
Stack
Next.js 15 · Sanity CMS · Supabase Postgres · Paystack · Vercel

At a glance

Casper Gadgets sells Apple, Samsung, DJI and more from seven physical stores across Lagos, at order values that regularly run into the millions of naira. The business had outgrown WooCommerce — a platform built for simple catalogues, not for a retailer whose content needs and transactional integrity had both grown more demanding than a single WordPress database could comfortably hold.

Inventrium replatformed the store from the ground up: a headless Next.js storefront, Sanity for content and imagery, and Supabase Postgres as the transactional system of record — migrating the full product catalogue, media library and customer base without losing a single order's worth of data.

A high-value retailer needed a platform as serious as its transactions — so we gave it one, with content and commerce cleanly separated and nothing left to chance at checkout.

The challenge

WooCommerce had done its job, but it was becoming the constraint:

  • One database trying to be both a content-management system and a transaction ledger, with neither job done especially well.
  • No clean way to guarantee stock accuracy under concurrent orders across a high-AOV catalogue.
  • Staff had no dedicated tool for the day-to-day of running a multi-location retail operation — inventory, order review, offline payment confirmation.
  • A theme-locked front end that could not keep pace with how the brand wanted to present its catalogue.

What we did

Separating content from transactions, deliberately

Sanity handles what the brand wants to say about a product — copy, imagery, brand and category structure. Supabase Postgres handles what has to be exactly right — price, stock and orders. A product's SKU is the fixed bridge between the two: once set, it cannot drift, so republishing a product in Sanity can never silently overwrite a staff-set price in Supabase.

Stock and payments that hold up under real load

Every order decrements inventory atomically — if a product or variant has drifted, the order aborts rather than overselling. Paystack payments are verified server-side and recorded through a single, race-safe path shared by the webhook and the checkout success page, so a payment is never double-counted even if both fire for the same transaction.

A staff portal built for how the business actually runs

Behind the storefront sits a role-based operations portal — inventory management, order review, a needs-review queue for anything that needs a human look, and confirmation for offline bank-transfer payments — with every action recorded in an append-only audit log.

Checkout, the Nigerian way

Paystack covers card, bank transfer and USSD; a manual bank-transfer path with staff confirmation covers customers who pay that way. Shipping is priced across 33 Lagos zones plus a flat rate elsewhere, authored in Sanity and snapshotted onto every order so pricing never retroactively changes.

A careful migration off WooCommerce

A 20-script pipeline moved categories, brands, products, blog posts, redirects and customer accounts out of WooCommerce and into the new stack. Passwords could not be carried over from the old system, so migrated accounts were set up without a usable password and prompted to reset on first login — the honest option, not a workaround.

Under the hood

  • Content vs. transactions: Sanity owns product content and imagery; Supabase Postgres owns price, stock and orders — a SKU is the fixed bridge between the two, so a copy edit can never silently change a price.
  • Atomic stock control: every order decrements inventory in a single database transaction — any mismatch aborts the order rather than overselling.
  • Safe payments: the Paystack webhook and the checkout success page both call the same order-recording logic, made race-safe so a payment is never recorded twice.
  • A staff portal, not a dashboard: a role-based back office for inventory, order management, a needs-review queue, and offline payment confirmation, with an append-only audit log.
  • Nigeria-specific checkout: a 33-zone Lagos shipping model and NGN-only payments, authored in Sanity and snapshotted onto every order.
  • A careful migration, not a rewrite: a 20-script pipeline moved every category, brand, product, post and user off WooCommerce — including a safe, transparent path for accounts whose old passwords could not be carried over.

The results

  • 1,255 products and 1,986 media assets migrated off WooCommerce with verified schema parity and zero data loss.
  • Stock never oversells — every order decrements inventory atomically, and payments are recorded exactly once even under retries.
  • Staff run the business from a purpose-built operations portal — inventory, orders, and offline payment confirmation, with a full audit trail.
  • Checkout works the way Nigerian shoppers actually pay — Paystack (card, bank transfer, USSD) alongside a manual bank-transfer path with human confirmation.
  • 1,942 automated tests, accessibility sweeps, and load testing back a platform built to carry seven physical stores worth of real transaction volume.

Impact

For customers: a faster storefront, checkout that actually matches how Nigerians pay, and stock levels that can be trusted — what is shown as available is available.

For Casper Gadgets: a dedicated operations portal replaces ad-hoc spreadsheet tracking, payments reconcile themselves instead of needing to be chased, and the catalogue can grow without the platform becoming the bottleneck.

Strategically: the business moved from a constrained, all-in-one WordPress setup to an architecture that separates concerns properly — content, commerce and operations each on the right tool for the job — built to carry the transaction volume of a seven-store retailer.

Why it matters for Inventrium

This engagement demonstrates real replatforming under real financial stakes — migrating a live, high-AOV retail catalogue without data loss, building transactional integrity (atomic stock, idempotent payments) that a template store simply doesn't need, and shipping the operational tooling a growing retail business actually runs on day to day.

Outgrowing your ecommerce platform?

We replatform stores under real transaction load, without losing a single order.

Chat on WhatsApp