Gold jewellery with live pricing automation — JewelSync by KLYX
Case Study · Shopify App Development
📅 April 2026 ✍️ Shubham, KLYX Jewellery Shopify Automation India & Dubai
How KLYX Built JewelSync — A Live Metal Price Engine for Shopify Jewellers Across India & Dubai
Indian and Dubai-based jewellery merchants running Shopify stores face a structural pricing problem that no standard e-commerce platform is built to solve: the raw material cost of their products changes multiple times a day, but Shopify has no native mechanism to reflect those changes automatically. KLYX built Live Metal Bulk Price Updater (JewelSync) — a production-grade Shopify app that eliminates manual price updates entirely, using live bullion APIs, formula-driven calculation, and Shopify's GraphQL bulk engine to sync hundreds of product variants in under 30 seconds.
🔴 The Problem: Why Manual Jewellery Pricing Is Broken

Jewellery pricing is fundamentally different from pricing a shirt or a gadget. A gold ring's fair sell price changes every hour based on the live spot price of gold, the purity of the metal, the weight of the piece, the making charge, and sometimes diamond or gemstone rates layered on top. For most jewellers selling on Shopify, keeping prices accurate meant one thing: hours of manual work, every single day.

  • 2–3 hours of daily manual re-pricing — A typical jewellery store with 500–800 Shopify variants needs prices updated 3–5 times daily as gold moves. Manually, that's 10–15 minutes per session, 4 sessions a day, every day.
  • 💸 Below-cost sales from decimal errors — Fat-fingering a decimal during manual entry has caused merchants to list ₹42,000 pieces at ₹4,200. The customer buys before anyone notices. The loss is permanent.
  • 📉 Prices always lagging the market — By the time a manual update cycle finishes, gold has already moved again. Stale prices mean either underselling (margin erosion) or customer-facing price corrections that damage trust.
  • 🧮 No formula support in Shopify — Shopify's native price editor has no concept of "price this variant as (metal_weight × spot_gold × purity) + 15% making charge." Every merchant was maintaining spreadsheets outside Shopify and copying numbers in by hand.
  • 🌍 Multi-currency stores had no exchange rate sync — Merchants selling in both INR and AED faced a compounded problem: not only did the base metal price change, but the INR/AED exchange rate shifted daily. No one was accounting for both variables simultaneously.
Bottom line: A mid-sized jewellery store with 800 variants updating manually 4× daily was spending approximately 40 staff-hours per week on price updates alone — work that generates zero revenue and introduces constant error risk.
💡 The Solution: Formula-Driven Pricing Inside Shopify Admin

The first architectural decision was the most important: where does this product live? A standalone SaaS portal was the obvious option — but KLYX rejected it immediately. Merchants already live inside Shopify Admin for 8 hours a day. A separate portal would require a context switch every time they wanted to sync prices, and that friction alone would kill adoption within weeks.

The answer was an embedded Shopify app using App Bridge — built inside the merchant's existing Shopify Admin UI, accessible via the left nav, authenticated automatically via Shopify OAuth. From the merchant's perspective, it feels like a native Shopify feature, not a third-party tool.

The core system design rested on three pillars:

  • Formula layer — A visual Formula Builder where merchants express their pricing logic using defined variables. The formula is stored once; the app applies it across all relevant variants on every sync cycle.
  • Live rate ingestion — A backend service polling bullion market APIs hourly for Gold (24K, 22K, 18K, 14K), Silver (925, 999), Platinum, Palladium, and Diamond rates. Rates are cached in Redis for sub-second formula previews.
  • Safety rails — Preview-before-sync and a Stop-Loss Floor Protection system that prevents prices from dropping below a merchant-defined cost floor, even during extreme market volatility.
Price = (metal_weight × live_spot_rate × purity) × (1 + making_charge_%)

Once a formula is defined, every price sync is a single click. No spreadsheets. No manual entry. No decimal errors.

⚙️ The Build: How JewelSync Was Engineered
  1. Chose Shopify app architecture over standalone SaaS. Embedded via App Bridge with Shopify OAuth — no separate login, no context switch out of Shopify Admin.
  2. Designed the variant data model from scratch. Built an in-app Variant Editor backed by PostgreSQL rather than using Shopify Metafields — merchants enter metal weight, purity, and making charge once, the app owns it permanently.
  3. Built the Formula Builder with sandboxed evaluation. Visual no-code interface; a sandboxed expression evaluator (isolated from the Node.js runtime to prevent injection) runs formulas against live rates in real time as the merchant builds. Invalid formulas surface clear errors before saving.
  4. Integrated a multi-metal live rate feed. Background worker polls bullion APIs hourly for Gold (all purities), Silver, Platinum, Palladium, and Diamond rates. Cached in Redis with 1-hour TTL — formula previews hit the cache, never the external API.
  5. Migrated from REST to GraphQL Bulk Mutations. REST API at 500+ variants caused 10–15 minute update queues due to rate limits. Migrating to productVariantsBulkUpdate delivered a 90× speed improvement — 500 variants in under 30 seconds.
  6. Built Auto-Approve mode with a daily cron job. Midnight UTC cron triggers full recalculation. Auto-Approve pushes prices automatically; standard mode queues an in-app notification for merchant review. Both modes use the identical evaluation engine.
  7. Added Stop-Loss Floor Protection. Configurable minimum price per gram or carat. If the live rate drops below the floor, the formula uses floor price — preventing below-cost sales during volatile sessions like the 2024 silver price correction.
  8. Multi-currency via Frankfurter API. Store currency set at onboarding. All USD-denominated bullion rates are converted to the store's base currency (INR, AED, GBP, etc.) before formula evaluation, with daily exchange rate sync.
🛠️ Tech Stack
LayerTechnologyWhy this choice
FrontendReact + Shopify Polaris + App BridgeNative Shopify Admin look & feel; required for embedded apps
BackendNode.js (Express)Fast JSON processing; strong Shopify API library support
DatabasePostgreSQLRelational integrity for variant data and formula configs
CacheRedisSub-second metal rate reads for real-time previews
Metal RatesLive bullion market APIGold (all purities), Silver, Platinum, Palladium, Diamond
FX RatesFrankfurter APIFree, reliable daily exchange rates for multi-currency stores
Shopify APIGraphQL productVariantsBulkUpdate90× faster than REST for bulk variant updates
AuthShopify OAuth 2.0Frictionless merchant login — no separate account
HostingVercel (frontend) + Railway (backend + DB)Zero-config deploys; auto-scaling
📈 Results
~0 hrs Manual price update work per week for active merchants (was ~40 hrs)
90× Faster bulk updates via GraphQL — 500 variants in <30 seconds
Zero Below-cost sales since Stop-Loss Floor Protection launched
Daily FX sync for India + UAE merchants — currency drift eliminated
  • Eliminated spreadsheet dependency entirely — formula logic lives in the app; variant data entered once and persists indefinitely.
  • Merchant confidence increased — the mandatory preview-before-sync step resolved the primary anxiety around automation: "what if it prices something wrong?"
  • Strong trial conversion — 7-day free trial, no credit card required, with a trial-to-paid conversion rate meaningfully above the SaaS industry average of ~15%.
🎯 Key Takeaways for Jewellery Businesses
  • If your product has a cost formula, Shopify can't price it alone. Any product priced from variable inputs (metal weight, spot rate, purity, labour) needs a formula layer. That layer must live inside the platform your team already uses — not in a spreadsheet on the side.
  • REST is fine for 10 products; GraphQL Bulk Mutations are non-negotiable at 500+. Most Shopify developers default to the REST API. At scale, that choice costs hours of update time and constant rate-limit failures. Start with GraphQL bulk mutations from day one.
  • The Stop-Loss Floor is worth more than any convenience feature. Merchants don't cite the Formula Builder or Auto-Approve as the reason they stay. They cite the Stop-Loss Floor — the guarantee that they can never unknowingly sell below cost. In a high-value, price-sensitive category, risk elimination outweighs efficiency gains.
🚀 Build Something Like This With KLYX

Does your business have a pricing problem like this?

KLYX is an AI-first SaaS and automation agency that builds real-world, scalable systems — not just prototypes. Whether you need a Shopify app, a real-time data sync engine, a SaaS MVP, or a custom automation workflow, we scope it rigorously and ship it fast.

Based in Dehradun, India  ·  Serving clients across India, UAE, UK & beyond