whereto-bike
v0.0.8
Published
Open-source cycling platform — the CMS for cycling
Readme
Ottawa by Bike
A curated guide to cycling routes in the National Capital Region — ottawabybike.ca
Created by José Albornoz, Ottawa by Bike helps cyclists of all levels discover beautiful routes, with photos, videos, GPX downloads, and personal tips like the best snack spots and detour alerts.
The long-term vision is a "Wikipedia of bike routes" — a community-driven, openly-licensed cycling knowledge base designed for multi-city deployment.
Architecture
Two repos, one site:
- bike-routes — Markdown + GPX data organized by city. The cycling wiki. Forkable, usable by any tool.
- This repo — Astro app that renders one city's data into a static website.
The build has zero external dependencies — it reads only the data repo. Works on a train.
Stack
- Astro — static site generator (TypeScript)
- Cloudflare Workers — deployment (static assets on CDN)
- PhotoSwipe — photo galleries
- Playwright — screenshot regression tests
- Plausible — privacy-friendly analytics
- MapLibre GL JS — vector tile maps
- Thunderforest — vector tile data (outdoors-v2)
- OpenStreetMap — underlying map data
Getting started
nix develop
npm install
npm run devData
Route data lives in the separate bike-routes repository and is loaded via Astro content collections. The data repo path is configured in src/content.config.ts.
History
This site was originally built as a Ruby on Rails application. The old Rails codebase is archived at bike-app-archive.
Tile data served by Thunderforest outdoors-v2 vector tileset.
License
This application is licensed under the GNU Affero General Public License v3.0.
The content data in bike-routes is licensed separately:
- Text: CC BY-SA 4.0
- Route data (GPX): ODbL 1.0
- Media: per-file licensing
