Skip to content
Back to case studies
Independent retail · 2025

Bike Shop Systems Integration.

Online sales from ~£2k a year to £200k+ in year one.

Online sales, year one
£200k+
Starting point
~£2k / year
Catalogue accuracy
Maintained automatically
Pipeline cadence
Daily, with human sign-off

What wasn't working.

The shop ran on two unconnected systems: a dedicated retail-management till for the counter, and an independent WooCommerce site for online. Neither talked to the other. Stock counts drifted constantly — what the website said was in stock often wasn't, and what the till had moved that morning didn't show online for days. Customers ordered things the shop didn't have; the shop sat on things customers couldn't see.

The online catalogue was the bigger problem underneath that. Tens of thousands of products, the vast majority with little to no SEO value — missing tech specs, missing or thin descriptions, badly formatted titles, often no images. Adding or fixing a product by hand was minutes of work per SKU; doing it across the full catalogue was effectively impossible.

The shop was selling strongly in-store but online had stalled at about £2,000 a year. Not because the demand wasn't there — because nothing about the website was buyable.

What we built.

One stock ledger, two fronts

We architected and project-managed the migration off the two-system setup onto a single cloud platform that runs the till and the e-commerce site from one stock database. What sells in-store updates online immediately; what sells online drops out of the till's count. The cutover went without incident — no lost orders, no inventory gap, no closed-for-the-day. That alone removed a category of daily reconciliation work, but the catalogue itself was still poor, so that became phase two.

An AI-augmented content pipeline

We built a pipeline that finds, fixes, and improves bad listings at catalogue scale. A rules sweep flags products failing the quality bar (short descriptions, missing tech terms, malformed titles, no images). For each major bike brand the shop carries, an adapter looks up flagged products by ID against the brand's source of truth and pulls back current tech specs, colourways, and imagery. An AI step then generates longer, SEO-aware customer-facing copy in the shop's voice, prompt-engineered to stay grounded in the brand-adapter data. Tech specs themselves are never AI-touched — they come straight from the brand.

Scheduled Lambdas, with a human in the loop

The whole thing runs on AWS Lambda with EventBridge schedules. It runs daily, so anything that drifts gets corrected on the next cycle. Every run sends a summary email so the owner can see what changed, what got flagged for review, and what couldn't be auto-resolved. Nothing irreversible happens without a human seeing it.

A second pipeline for supplier stock

A separate scheduled pipeline reads what's available from the shop's external suppliers and their warehouses — items the shop doesn't physically hold but can offer with a known lead time. In-stock items within the shop's configured lead-time tolerance get listed automatically, with the lead time surfaced to the buyer. The shop's effective range online is now far larger than its floor space, without any manual catalogue work.

What changed.

Online sales crossed £200,000 in the first year on the new setup — a 100× lift from where the site had been. The structural change driving that is what the buyer sees: a catalogue that's actually accurate, listings that have real specs and decent images, and stock counts that match reality.

The daily admin load fell at the same time. The owner is no longer spending evenings re-typing supplier sheets into WordPress, and the weekly reconciliation between till and website is simply gone — there's only one ledger to reconcile against now.

Most importantly, the catalogue maintains itself. New products show up with proper content because the pipeline pulled it. Suppliers' in-stock items list themselves. Drift gets caught and corrected on the next daily run, and the owner sees a summary email each morning rather than discovering problems through customer complaints.

Independent retail · Legacy POS + WooCommerce → Unified cloud POS + AWS Lambda content pipeline

Frequently asked questions.

  • Why consolidate the till and the website instead of just syncing them?

    Two systems with their own idea of stock means at least one is wrong. Refunds, partial deliveries, mid-month adjustments — every edge case is somewhere they can disagree, and the shop had lived with that for years. One platform writing to one stock record kills the problem at the source. Riskier migration up front; far simpler to operate after.
  • What rules does the pipeline use to flag a "bad" listing?

    Explicit and inspectable. Description below a character threshold. Title not capitalised. Key tech terms missing for the product type. No image attached. Each rule scores a product and the engine emits a queue ranked by how badly it fails. The shop can tune the bar over time and knows exactly why anything was flagged.
  • How does the pipeline avoid getting things factually wrong?

    The tech-spec sheet is never AI-generated. It's fetched from the brand's source of truth by product ID and written through unchanged — that's the data a buyer makes a purchase decision on, so it stays out of any model's reach. The AI step writes only the longer marketing copy, prompt-engineered to ground in the adapter's data. Anything the brand source can't return is flagged for human review, not auto-listed.
  • Why AWS Lambda and scheduled jobs rather than a continuously-running service?

    The work is batchable; daily is enough. Lambdas with EventBridge mean nothing to keep alive between runs, costs are negligible, and each run is independent. If today fails, tomorrow's run picks up. Right shape for a small business.
  • Could a smaller shop expect similar results?

    The 100× lift was specific: strong in-store reputation, catalogue effectively invisible online, real online demand. Those conditions aren't universal. What transfers is structural — one stock ledger across both channels, content pulled from authoritative sources, a daily cadence with a human in the loop. Those pay off in most retail with an online channel.

Let's talk.

Tell us what you're trying to do. We'll reply within one working day. If we're not the right team for it, we'll say so.

Reply in one working day
First call is free — no pitch
Fixed price, agreed before we start
If we're not the right fit, we'll say so
Based in the UK, working with businesses across the country
Verify you're human *

Complete the verification above to enable sending.