Skip to content

Directory / AI Data Pipeline

eBikeLocal

A nationwide e-bike shop directory that tells you which brands a shop actually carries, fed by a pipeline that normalizes brand dealer locators.

Visit the site
eBikeLocal website screenshot

The problem

What was wrong

Shoppers can find a bike shop on a map, but no independent directory says which e-bike brands the shop sells. Each brand publishes its own dealer locator, in its own format, and none of them agree on how to write an address.

What we built

What we built

  • Scrapers and normalizers for brand dealer locators, merged into one shop table with a shop-to-brand junction table.
  • Google Places enrichment for hours, ratings, coordinates and photos, with the source of each image recorded.
  • City, state, brand and bike model pages, plus ranked "best e-bikes" pages by budget and use.
  • Leaflet maps with many pins on city pages and an embedded map on single shop pages.
  • Audit scripts that check bikes, coordinates and website signals so bad records get caught before they ship.

Stack

What it runs on

  • Astro 6
  • Neon Postgres
  • postgres.js
  • Tailwind CSS 4
  • Playwright
  • Cheerio
  • Leaflet
  • Vercel

Results

The numbers

299

Pages in sitemap

What we'd tell another builder

One lesson

Directories are data problems first. A wrong address on a shop page costs more trust than a plain design ever will, so the audit scripts matter as much as the page templates.

From the blog

Further reading

AI Integration

We Ran Our AI-Readiness Scanner on Our Own Sites. Here's What It Found.

We pointed our free AI-readiness scanner at the seven sites we run. One was blocking AI crawlers without us knowing, and none had an llms.txt.

Read the post

SEO

Why Most of Our Search Traffic Comes From Bing, Not Google

83% of RecycleOldTech's search visitors and 99% of eBikeLocal's come from Bing-powered engines. Here's the data, why SEO tools miss it, and what we changed.

Read the post

Want something like this?

Tell us what you're working on and we'll figure out the right approach together.

More work

Other case studies

AI Integration

DowntownDry

A directory of alcohol-free bars and venues, kept honest by a verification pipeline that pairs Google APIs with Gemini.

Read the case study

Full-Stack Development / Fintech

Yield to Freedom

An income ETF research platform that grades funds from A to D and refreshes the data on a schedule, with no manual entry.

Read the case study

Full-Stack Development / SEO

Home Power Ready

A directory of standby generators, battery backup and installers, with sizing and cost calculators as the only JavaScript on the site.

Read the case study