Qelv

Our own engineering. September 2024 to February 2025.

A retail catalogue kept in step with Shopify, price by price

A store reselling retail products needs its Shopify catalogue to track the retailer's prices and stock, and by hand that work drifts the moment anyone stops. We built the pipeline ourselves: extraction into MongoDB, a threaded price and stock refresh, and products created and updated in Shopify by SKU.

Retail ecommerce. Data and Automate.

The system, drawn from the story.

Screens from this system are being added.

The situation

A store that resells retail products needs its Shopify catalogue to track the retailer's prices and stock. Done by hand that work is exact, repetitive and endless, and it drifts the moment anyone stops. We built the pipeline on our own account so the sync could run on a schedule instead of a person.

What we built

  • Product extraction from Costco with Selenium and BeautifulSoup
  • Normalised storage in MongoDB, with a threaded scheduler refreshing price and stock
  • Shopify product creation and updates keyed by SKU, with variants, images, metafields, collections and inventory levels
  • Retries and bulk operations, with rate-limit handling against the Shopify Admin API
  • JSON export for downstream use
  • An earlier wholesale-catalogue prototype, begun in December 2022: crawl vendor catalogues, normalise them, make them searchable, and handle pricing, stock and ordering, with an ecommerce website requirements specification written in October 2023

What changed

The store's catalogue moves when the retailer's does, and a failed refresh retries itself rather than waiting for someone to notice.

Along the way

  1. 28 December 2022

    Wholesale-vendor catalogue prototype begun: a crawler that pulls vendor catalogues, normalises them and makes them searchable.

  2. April 2024

    Requirements written: catalogue, price and stock tracking from a retailer into a Shopify store.

  3. 7 September 2024

    Pipeline repository created; commits run through to February 2025.

  4. 2 February 2025

    Last push: threaded scheduler, product extraction, MongoDB storage, price and stock refresh, retries, bulk create and update, inventory sync and JSON export all in place.

Read next

  • A US hotel-intelligence company

    Market data collected every night for a hotel-intelligence company

    Collectors with proxy rotation feeding MariaDB, running every night since 2025. 8M+ requests a month against the sources the collectors watch.

  • A real-estate researcher working Montana property records

    Every lot in the Yellowstone Club, as one dataset

    Every house and lot in the Yellowstone Club community, extracted from Montana's cadastral API and its HTML pages into a single CSV, with a notebook that measured how the extraction behaved. 3 days from the approved sample to the full dataset, November 2023.

Where to next

Have a problem in this shape?

Say so in a few sentences. The reply comes from the person who built this one.

We reply within two business days. If it is a fit, you get a one-page note on what to do first, before any sales call.