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
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 postSEO
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 postWant 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 studyFull-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 studyFull-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