Silver Owl
← Back to work

E-commerce · API integration + sync engine

Volta Goods — Unified Inventory Sync Engine

Oversell rate dropped to 0.1%. GMV up 22% in the first quarter.

Industry

E-commerce

Service

API integration + sync engine

Timeline

7 weeks

Result

Oversell rate dropped to 0.1%. GMV up 22% in the first quarter.

Volta Goods — Unified Inventory Sync Engine

Illustrative engagement — details anonymized.

Industry: E-commerce Service: Unified inventory API + webhook sync engine Timeline: 7 weeks Stack: Next.js API routes, Supabase, Shopify + Amazon APIs


The problem

Volta Goods sold direct-to-consumer through their own Shopify store, Amazon, a wholesale portal, and a pop-up retail POS system. Inventory was tracked in four separate systems with no single source of truth. When a product sold on Amazon, it could take hours before the Shopify listing updated — leading to oversells on roughly 8% of high-velocity SKUs.

Oversells meant cancelled orders, refund processing, negative marketplace reviews, and manual reconciliation that consumed 15+ hours per week from the operations team. The problem was getting worse as the catalog grew past 1,200 SKUs.

What we built

Unified inventory API: A central inventory service built with Next.js API routes and backed by Supabase. Every channel reads from and writes to this single source of truth. Stock levels, reserved quantities, and available-to-promise counts are computed in real time.

Webhook sync engine: Inbound webhooks from Shopify, Amazon SP-API, and the wholesale portal trigger instant inventory adjustments. Outbound sync pushes updated quantities to all channels within seconds of any change. Idempotent event processing ensures no double-counts from webhook retries.

Conflict resolution: When two channels sell the last unit simultaneously (a race condition), the system uses optimistic locking with a retry queue. The first transaction wins; the second is flagged for the ops team with a suggested resolution (cancel, backorder, or fulfill from alternate stock).

Admin dashboard: Real-time inventory view across all channels, sync status indicators, error logs, and manual override capabilities. The ops team can see exactly what's in stock, what's reserved, and what's in transit — in one place.

Historical analytics: Sell-through rates, channel performance, and inventory turn metrics. This data helped the client identify underperforming SKUs and optimize reorder points.

The technical decisions

Supabase over DynamoDB: The client's team knew SQL. DynamoDB would have required a learning curve and made ad-hoc queries for the analytics dashboard significantly harder. Supabase's real-time subscriptions also powered the live dashboard updates without a separate WebSocket layer.

Event sourcing for inventory changes: Rather than storing only current quantities, every inventory event (sale, return, restock, adjustment) is stored as an immutable event. This provides a complete audit trail and makes reconciliation trivial — you can replay events to verify the current state at any point.

Rate-limit-aware outbound sync: Amazon's SP-API has aggressive rate limits. The outbound sync engine uses a token bucket algorithm to stay within limits while prioritizing high-velocity SKUs for faster propagation.

Results

  • Oversell rate: 8% → 0.1% (effectively eliminated)
  • GMV increase: 22% in the first quarter (restored buy box eligibility on Amazon + fewer cancelled orders)
  • Manual reconciliation: 15 hours/week → less than 1 hour/week
  • Sync latency: Hours → under 10 seconds (median) across all channels
  • SKU capacity: System tested and validated to 10,000+ SKUs with no performance degradation

Handoff

Full codebase in client's GitHub organization. Supabase project transferred. API keys for Shopify, Amazon SP-API, and wholesale portal rotated to client's accounts. Documentation includes webhook setup guide, conflict resolution runbook, and channel onboarding playbook for adding future sales channels. 30-day bug warranty included.

Illustrative engagement — details anonymized.

Ready to build? Let's talk.

Book a free scoping call. We'll review your requirements and send a written estimate within 48 hours.

Book a call →