134 lines
3.0 KiB
Markdown
134 lines
3.0 KiB
Markdown
# Product Requirements Document
|
|
|
|
## Vision
|
|
|
|
Build the best planning and riding tool for self-supported bikepacking trips.
|
|
|
|
## Core promise
|
|
|
|
Plan a rideable, legal, enjoyable, and logistically safe route for a loaded bike over multiple days, including sleep, water, food, repair, local rules, weather, and bailout options.
|
|
|
|
## Non-goals for MVP
|
|
|
|
- Do not build a social network first.
|
|
- Do not build full turn-by-turn voice navigation first.
|
|
- Do not build a complete global legal camping database first.
|
|
- Do not depend on one commercial booking/routing API.
|
|
- Do not attempt global correctness for local rules. Use confidence levels.
|
|
|
|
## Functional requirements
|
|
|
|
### Trip planning
|
|
|
|
Users can create a trip with:
|
|
|
|
- start/end locations or imported GPX,
|
|
- start date and optional end date,
|
|
- bike type,
|
|
- load level,
|
|
- rider fitness preference,
|
|
- daily target distance range,
|
|
- daily target climbing range,
|
|
- maximum loaded-bike grade,
|
|
- preferred surface mix,
|
|
- sleep preference,
|
|
- water interval limit,
|
|
- resupply interval limit,
|
|
- bailout preference.
|
|
|
|
### Bikepacking routing
|
|
|
|
The planner returns:
|
|
|
|
- route geometry,
|
|
- elevation profile,
|
|
- distance and climb,
|
|
- surface breakdown,
|
|
- traffic/access confidence,
|
|
- steep segment warnings,
|
|
- long no-water/no-food warnings,
|
|
- possible hike-a-bike warnings,
|
|
- stage suggestions.
|
|
|
|
### Multi-day staging
|
|
|
|
The app divides the route into daily stages based on:
|
|
|
|
- daily distance/climb targets,
|
|
- daylight window,
|
|
- sleep options,
|
|
- food/water availability,
|
|
- bailout access,
|
|
- weather risk if available,
|
|
- user preference for indoor/outdoor nights.
|
|
|
|
Each stage has:
|
|
|
|
- distance,
|
|
- ascent/descent,
|
|
- expected riding time range,
|
|
- surface mix,
|
|
- sleep candidates,
|
|
- food/water critical points,
|
|
- warnings,
|
|
- Plan A and Plan B endpoint.
|
|
|
|
### Route-corridor logistics
|
|
|
|
The app supports corridor queries around the route:
|
|
|
|
- water,
|
|
- supermarkets,
|
|
- bakeries,
|
|
- cafés/restaurants,
|
|
- gas stations,
|
|
- campsites,
|
|
- shelters,
|
|
- huts,
|
|
- hostels/hotels,
|
|
- Warmshowers-style hosts via partnership/deep link if available,
|
|
- bike shops,
|
|
- repair stations,
|
|
- train/bus/ferry bailout.
|
|
|
|
### Offline
|
|
|
|
Offline packs should include:
|
|
|
|
- route geometry,
|
|
- map tiles/vector map region,
|
|
- route-corridor POIs,
|
|
- stage plan,
|
|
- elevation profile,
|
|
- rule cards,
|
|
- emergency/bailout points,
|
|
- saved notes,
|
|
- exports.
|
|
|
|
### Community/local intelligence
|
|
|
|
Users can report:
|
|
|
|
- water available/unavailable,
|
|
- surface mismatch,
|
|
- locked gate,
|
|
- access restriction,
|
|
- dangerous dogs,
|
|
- mud/sand/washout,
|
|
- bridge/ferry closure,
|
|
- good/bad sleep option,
|
|
- bike shop availability,
|
|
- reroute recommendation.
|
|
|
|
Reports must be dated, location-bound, typed, confidence-scored, and expire unless reconfirmed.
|
|
|
|
## Non-functional requirements
|
|
|
|
- Offline-first for riding-critical functions.
|
|
- Clear attribution for OSM-derived data.
|
|
- Explicit uncertainty indicators for legal/safety information.
|
|
- Fast route-corridor search.
|
|
- Provider abstraction to avoid lock-in.
|
|
- Export support for GPX first, then TCX/FIT.
|
|
- Privacy-conscious location handling.
|