All projects
Enterprise Commerce & Marketplace · Distributed Backend & APIs

Gold & Gems

Jewellery commerce with live bullion pricing

Role
Lead Developer
Client
Gold & Gems
Decorative cover art for the Gold & Gems case study

A commerce platform for a premium jewellery retailer. Prices follow the daily gold and silver rates, stock stays in step between showrooms and the online store, and shoppers can filter by detailed gemstone attributes.

  • Built a pricing engine that derives prices from live metal rates, diamond carats, making charges and tax rules.
  • Wrote inventory synchronisation services that keep showroom point-of-sale systems and the online store consistent.
  • Designed the GraphQL schema and tuned resolvers to keep payloads small on mobile.
  • Integrated tokenised payments and role-based access for store administrators and inventory auditors.
Real-timeInventory syncTransactional reservations across showrooms and the online store
Live ratesPrice calculationComputed on request from live gold and silver rates
GraphQL + RESTAPIsEach view requests only the fields it needs
  • Node.js
  • Medusa.js
  • Next.js
  • GraphQL
  • PostgreSQL

Problem and objectives

Jewellery prices change with the metal rate every day, across tens of thousands of customisable products. Many pieces are one of a kind, so the online store and the physical showrooms must never both sell the same item.

Architecture

The backend is Node.js and Medusa.js with GraphQL and REST APIs. A pricing engine calculates each price on request from the live bullion rate, metal weight, gemstone certification fees and making charges.

Inventory reservations run inside database transactions, so a hold placed at checkout or at a showroom till is atomic and a unique piece cannot be reserved twice.

Tradeoffs

Prices are calculated on request instead of stored, which costs a little on every read and saves re-editing every product when the rate moves. The bullion rate itself is cached with a short TTL, so a price can lag the rate provider by that window. The pricing was the easy part. Most of the engineering time went into making reservations correct when showroom staff and an online customer reach for the same piece at once.

Read more

A real-time bullion pricing engine for Gold & Gems