Limited Reality

Precious metals & commodities

HJ Bullion

Commerce for inventory whose value moves every four hours — with a two-sided buyback pipeline and lot-level cost basis.

Compares to Shopify plus spreadsheets

The problem

A Shopify store cannot price products whose cost basis and market value float with spot. Dealers end up running a storefront, a spreadsheet, and a bookkeeper, and discovering their margin after the fact.

The approach

  • Spot prices pulled every four hours; the full catalog reprices fifteen minutes later against fresh market data.
  • Every price change written to an audit log with its source, so any number can be explained after the fact.
  • Numismatic valuation modeled properly — mint, series, type and issue, with premiums stacking across strike, grade, metal and year rarity.
  • Two-sided buyback pipeline: quote, offer, receiving, inspection, acquisition, inventory lot and unit, with an event ledger.
  • Secrets held in Azure Key Vault under managed identity rather than environment variables.

Details that matter

  • Inventory is tracked at both lot and unit level with an allocation ledger, because units are fungible and lots are not — that distinction is what keeps cost basis truthful.
  • Migrated off Shopify without losing cost basis history, which is the part that usually gets abandoned.
  • Intake media captured at inspection, so a disagreement about grade has photographic evidence on both sides.

Systems integrated

StriperailsCheckout and payment attempts
QuickBooks OnlineledgerCustomers, items, tax codes, sales receipts
Metals spot feedoperationsSpot prices and daily closes every four hours
ShopifyoperationsCatalog and cost basis migration
Grading servicesoperationsCertification verification
Azure Key VaultidentitySecrets under managed identity
Vercel OIDCidentityKeyless cloud authentication

Scale

  • ~80 data models across pricing, valuation, inventory and commerce
  • Full catalog repriced against spot four times daily

Built with

Next.js 16Neon PostgresPrisma 7VercelStripeAzure Key VaultVitest