mndev
EN / UA
Luxury E-Commerce · Diamond Marketplace

Calavera

"Stock Nivoda template rebuilt as a luxury diamond marketplace with real-time inventory."

Diamond retailer stuck on a stock Nivoda template — slow, no customization, losing customers. Rebuilt from zero as a luxury headless platform: sub-50ms search across 500K+ diamonds, custom ring builder, and an 8-microservice backend that runs itself.

Role: Sole developer — full responsibility for architecture, frontend, backend, infrastructure, and deployment.

Problem

Standard Nivoda storefront — no design control, slow loading, customers leaving before seeing the catalog. There was no custom backend at all — everything depended on Nivoda. No way to build custom search, pricing, or checkout flow.

Approach

  • 01Built a premium storefront on Next.js 16 — editorial design, 14 diamond shapes with interactive diagrams, supplier video, endless scroll with Typesense search across 28 parameters.
  • 02Created a custom ring builder — step-by-step flow: setting → diamond → metal/size/engraving → review → checkout. 40+ UI components, state persisted in PostgreSQL.
  • 03Built a complete 8-microservice backend instead of depending on Nivoda. Adaptive scanner distributes 500K diamonds across price ranges. 200 parallel workers process one page each. Three-phase pipeline maps, prices, and rates every diamond.
  • 04Versioned cache with ETag support — 95% hit rate, responses under 50ms. Reservation system prevents double-sells through hourly refresh. Atomic data versioning ensures information stays current.
  • 05Shopify checkout with draft orders, 4 sign-in methods (Shopify, Apple, Facebook, Google), shareable cart and wishlist, promo codes, delivery date estimates.

Live storefront · editorial

calaverajewelry.com
Calavera ring settings page
calaverajewelry.com
Calavera single ring setting page
calaverajewelry.com
Calavera diamond search page

Outcome

  • From a standard Nivoda template to a fully custom premium platform.
  • 500K+ diamonds searchable. Responses under 50ms across 28 filter parameters.
  • Zero double-sells since launch. Reservation system with atomic versioning and hourly refresh.
  • Ring builder live — complete step-by-step flow from setting to checkout, 40+ components.
  • 43 frontend pages, 8 API endpoints, 32 test files (E2E + unit), 22 shared UI components.
  • 15-page admin dashboard: 487K diamonds, 3 feeds, 99.7% pipeline success rate.

Business Impact

The store moved from a standard Nivoda template to a fully custom premium platform. The ring builder opened new purchase scenarios that didn't exist before. Search under 50ms increased catalog browsing depth. The reservation system eliminated double-sells — buyer trust restored. 8 microservices process data autonomously, the storefront shows live inventory without manual intervention.

Redesign comparison

Calavera template
Custom storefront
Calavera template
Custom storefront

Under the hood

Customer Storefront
  • Next.js 16 · React 19 · TypeScript
  • Typesense · 28-facet diamond search
  • Custom ring builder · 40+ components
  • Radix UI · Embla Carousel · Motion
  • Better Auth · 4 OAuth providers
Ingestion Pipeline
  • 8 Azure microservices · Terraform IaC
  • KEDA autoscaling · 0→200 workers
  • Adaptive density scanning
  • Pricing Engine · Rating Engine
  • Atomic dataset versioning
Commerce & Data
  • Shopify Headless · Storefront API
  • Nivoda API · diamond holds
  • PostgreSQL · Prisma 7
  • Draft orders · promo codes
  • Shareable cart + wishlist tokens
Infra & Monitoring
  • Azure Container Apps · Docker
  • Cloudflare CDN · Vercel
  • Vercel Crons · hold refresh
  • Playwright E2E · Vitest
  • CI/CD: typecheck → deploy
Built to last

Next.js stack — modern, stable, hire-able. Not a black-box theme.

Active support

I keep shipping features, fixes and integrations as the store grows. No agency lock-in.

No rebuild in 2 years

The architecture scales with the catalog and traffic — no forced replatform.

Want a store that runs itself?

If you have a legacy store losing money to slow pages, manual order entry, or fragile integrations — let's talk. I take projects from architecture through launch and stay to keep them running.