Fujimod
Try your camera firmware in the browser and build Fujimod SD boot files.
A bikepacking trip planner — smart pacing, safety alerts, and accommodation suggestions from a Komoot URL or a GPX file.
LifestylePHP · TypeScriptGitHub @vincentchalamonOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A bike trip planner. Paste a route, get a structured day-by-day roadbook with pacing, elevation alerts, accommodation suggestions, and a shareable content.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Plan your bikepacking adventures with confidence.
Paste a Komoot URL or upload a GPX file, and get a structured day-by-day roadbook
with smart pacing, safety alerts, and accommodation suggestions.
Desktop — Split view with day-by-day timeline, contextual alerts, and interactive map.Read the full README ↗Desktop — Split view with day-by-day timeline, contextual alerts, and interactive map.
Mobile — Day-by-day timeline on a phone-sized screen.
Bike Trip Planner is a bikepacking trip planner with a decoupled architecture: a PHP backend (API Platform 5 on Symfony 8.1) computes trips through async workers, and two clients, a Next.js 16 web app and an Expo native mobile app, manage presentation and state.
It imports a route from Komoot, Strava, RideWithGPS or a GPX upload, then builds a day-by-day roadbook with:
See the feature overview, or the rider tutorial Plan your first trip.
git clone https://github.com/vincentchalamon/bike-trip-planner.git
cd bike-trip-planner
make start-dev
The app is available at:
See Getting Started for prerequisites and detailed setup instructions.
Bike Trip Planner has two surfaces on one API: the web app above (discovery, sharing, planning on a large screen) and a native mobile app for in-the-field use: offline consultation of upcoming trips, in-ride assistance and push notifications (ADR-053).
The codebase is an npm-workspaces monorepo:
| Workspace | Role |
|---|---|
core/ (@btp/core) | Framework-free shared package: OpenAPI-derived types, Zod schemas, Mercure wire types, and the pure SSE reconciliation reducers used by both web and mobile |
pwa/ | Next.js 16 web app |
mobile/ | Expo / React Native app (Android first, iOS later) |
The mobile foundation is documented in ADR-054 (design system), ADR-055 (state architecture), and ADR-056 (Mercure header-auth).
npm install # install all workspaces from the repo root
npm run android --workspace mobile # build & launch on an Android device/emulator (expo run:android)
npm run start --workspace mobile # start the Expo dev server
Full documentation is published with MkDocs Material at
https://vincentchalamon.github.io/bike-trip-planner/, and the sources live in docs/.
| Document | Description |
|---|---|
| Plan your first trip | Rider tutorial: from a route link to an exported roadbook |
| Getting Started | Developer tutorial: requirements, installation, and local setup |
| Features | What the product does, by area |
| Connect an AI agent | Plug an MCP client into your account |
| MCP tools | The tools an AI agent can call |
| Supported route sources | Accepted Komoot / Strava / RideWithGPS / GPX inputs |
| Accommodation types | Logical types, OSM tags, pricing heuristic |
| Alert engine | Every alert code: severity, priority, trigger |
| External data sources | OSM, DataTourisme, OpenAgenda, Wikidata, Open-Meteo, Nominatim |
| Architecture | System overview and the reasoning behind the ADRs |
Contributions are welcome! Please read the Contributing Guide before submitting a pull request.
make start-dev # Boot Docker environment
make qa # Run full QA suite (linting, static analysis, formatting)
make test # Run all tests (QA + PHPUnit + Playwright)
This project is licensed under the GNU Affero General Public License v3.0.
| Architecture Decisions | 82 ADRs explaining every major technical choice |
| Contributing | Development workflow, standards, and tooling |
| Deployment | CI/CD pipeline, required secrets, rollback procedure |
| Runbooks | Operations playbooks: workers, DB, Redis, Mercure, zones, releases |
| Claude Code Tooling | MCP servers, hooks, and skills for AI-assisted development |
| Legal & Licensing | Project licence, data attribution, and GDPR posture |