ShopFlare Get in touch
How it works

Five steps from WooCommerce to edge-native search.

Most stores are live within a week of saying yes. Here's what happens between then and now.

01

Connect your WooCommerce store

We add ShopFlare's read-only credentials to your WooCommerce REST API and pull your full catalogue — products, categories, brands, attributes, images, and any custom data types you've defined. No theme changes yet.

02

Build the index

Your products flow into a Cloudflare D1 database with an FTS5 + trigram full-text index. Brand and category facets are pre-computed. Workers AI reads each product photo to extract colour, material, pack count, and visible text — so your customers can find a product by attributes that aren't in the title.

03

Install the widget

We embed a 22KB JavaScript widget on your WooCommerce theme. It replaces the default search box. Customers see autocomplete results in ~2 milliseconds, filterable by brand, category, stock status, price range, and any custom data type you have.

04

Keep it fresh

A Cloudflare Cron Trigger re-syncs your catalogue every hour, using mark-and-sweep semantics so deleted products vanish from results. Cloudflare Workflows make the sync durable and resumable — if a sync gets interrupted, it picks up where it left off.

05

Expose to AI agents (optional)

Your install ships with an MCP server exposing 13+ tools. Any MCP-aware AI assistant — Claude Desktop, ChatGPT, Cursor — can query your catalogue, find products, look up fitments, retrieve manuals. Plug it into a chat widget, an internal tool, or your customers' own assistants.

Why it's fast

Cloudflare's edge is the secret. The rest is good engineering.

FTS5 + trigram, one index

SQLite's FTS5 handles natural-language tokens (titles, descriptions, attributes). A separate trigram index on titles, subtitles, and SKUs handles substring matches — so a customer can find product 061073 by typing just 0610. Both indexes live in the same D1 row.

Per-type result caps

One query returns sectioned results — products, categories, brands, fitments, articles, pages — each capped via ROW_NUMBER() OVER (PARTITION BY type). Customers see the breadth of your catalogue, not 50 product variants of the same SKU.

Alias-aware matching

Search for "contact points set" and find "Lucas Contact Set, Twins 1968-72". For motorcycle stores, we pull part names from fitment lists into product bodies — so the canonical product is reachable from any name the customer might use.

Vision-enriched body

For craft, fashion, and homewares stores, Workers AI extracts colour, material, pack count, and visible brand text from product photos. The output appends to the searchable body, behind a sentinel marker, so re-syncs don't clobber it.

The stack

All Cloudflare, all the way down.

Layer What we use Why
Hosting Cloudflare Workers Edge runtime, ~280 cities, scales to zero
Database Cloudflare D1 (SQLite) FTS5 full-text + trigram substring index
Fast lookups Cloudflare KV Prefix-based autocomplete in 1–2ms
Image cache Cloudflare R2 Edge-cached thumbnails, hotlink-protected
Image AI Workers AI · Llama 4 Scout (vision) Product photo → searchable attributes
Sync orchestration Cloudflare Workflows Durable, resumable, retryable sync runs
Auth better-auth Google OAuth, single sign-on for admin
Frontend React 19 + Vite + Tailwind v4 Dashboard + embeddable vanilla-JS widget

Single-tenant means each store gets its own Worker, its own D1, its own KV namespace. Your search load doesn't compete with anybody else's, and your data shape doesn't have to fit a generic schema.

Ready to see it on your store?

Send us your WooCommerce URL and we'll have a sandbox of your search experience inside 48 hours.

Request a sandbox