# 01 — Product Vision & User Personas ## 1. Product vision **Mission:** Make kite flying more accessible, safer, and more frequent by telling any flyer, anywhere, *where* and *when* conditions are right for their kite — using only open data and open software. **Vision statement:** Open Kite Map becomes the OpenStreetMap of wind sports launch sites: a community-maintained, globally usable atlas of kite spots, enriched with live conditions and an honest, explainable flyability score. ### Why this product should exist 1. **The information is scattered.** Today a flyer cross-references a generic weather app (which buries wind data), a satellite map (to guess at obstacles), and word of mouth (to learn a field is actually a no-fly zone near an airfield). No single tool answers "can I fly *here*, *now*, with *this* kite?" 2. **Wind apps serve sailors and surfers, not kite flyers.** Tools like Windy and Windfinder show raw wind but don't know that a 4-line traction kite wants 12–25 mph while a child's delta wants 5–12 mph, or that gust ratio matters more than mean speed for a framed stunt kite. 3. **Existing spot databases are proprietary or sport-siloed.** Kitesurfing spot databases exist behind commercial apps; nothing open covers the full spectrum from park flyers to kiteboarders. 4. **Open data makes it sustainable.** OSM + Open-Meteo + NOAA mean zero per-request licensing cost, so the project can be community-hosted forever, forked freely, and never held hostage to an API pricing change. ### Product principles - **P1 — Honest scores.** The Flyability Score is always explainable: tap it and see exactly which factors raised or lowered it. We never present false precision; forecast uncertainty is shown, not hidden. - **P2 — Kite-type aware.** Every score, filter, and alert is computed relative to the user's kite type. There is no single "good wind." - **P3 — Safety first, but informational.** We surface hazards (power lines, airports, crowds, offshore wind warnings) prominently. We inform; we do not certify. Legal disclaimers are explicit. - **P4 — Community owned.** Spot data is contributed and moderated by users under ODbL. Edits are versioned and reversible, OSM-wiki style. - **P5 — No lock-in, ever.** Every external dependency must have a free tier sufficient for self-hosting and at least one documented substitute (see data-source evaluation). - **P6 — Works on a phone in a field.** The primary use context is outdoors, one-handed, in sunlight, possibly on a weak connection. Mobile-first, high contrast, aggressive caching. ### Non-goals (v1) - Native iOS/Android apps (PWA covers the need; native is a possible later milestone). - Social networking features beyond condition reports and spot reviews. - Paid features of any kind. - Drone/RC-aircraft sites (different legal regime; explicitly out of scope to keep moderation tractable). - Indoor kite flying venues. --- ## 2. Target audience overview The kite-flying population segments by **kite type**, which determines wind requirements, space requirements, and risk tolerance: | Segment | Kite types | Wind sweet spot | Space needed | Risk profile | Est. share of users | |---|---|---|---|---|---| | Casual / family flyers | Single-line: deltas, diamonds, parafoils, box kites | 5–15 mph (8–24 km/h) | Small park / beach | Very low | ~60% | | Sport kiters | Dual/quad-line framed stunt kites, small foils | 6–18 mph (10–29 km/h), low gust | Medium open field | Low–medium | ~25% | | Power/traction kiters | 4-line foils, landboarding, buggying | 10–25 mph (16–40 km/h) | Large open area | Medium–high | ~8% | | Kite surfers / boarders | LEI tubes, foil kites on water | 12–30 mph (19–48 km/h) | Water + launch zone | High | ~7% | We design three primary personas spanning these segments. Power/traction kiters share most needs with kite surfers (wind bands differ; the scoring rubric handles this) and are treated as a secondary persona variant of Persona 3. --- ## 3. Persona 1 — "Weekend Maya" (casual / family flyer) > *"I just want a nice afternoon where the kite actually stays up and nobody's kite ends up in a tree."* **Profile** - Age 38, marketing manager, two kids (6 and 9). Suburban Columbus, Ohio. - Owns two kites: a $25 rainbow delta and a kids' diamond kite. Both from a toy store. - Flies 4–8 times a year, almost always on a whim ("it looks breezy out"). - Tech comfort: high (daily smartphone user), but zero weather literacy — does not know what a knot is, doesn't know prevailing wind direction for her town. **Goals / jobs-to-be-done** 1. *When I'm planning a weekend family activity, tell me whether kite flying will actually work, so I don't drive 20 minutes for a kite that won't launch.* 2. *Show me the nearest park where flying is allowed and there are no trees or power lines to eat the kite.* 3. *Tell me in plain language — "Great for light kites this afternoon" — not in m/s and isobars.* **Frustrations today** - Weather apps say "Wind: 7 mph" with no interpretation. Is that enough? Too much for the kids' kite? - Twice drove to a park that turned out to be ringed by mature trees; the wind at ground level was dead. - Doesn't know flying near the regional airport approach path is restricted. **Key needs → features** - Plain-language flyability ("Good", "Marginal", "No-fly") with the score available but secondary. - Defaults to "single-line / light kite" profile with no configuration. - Obstacle and legality flags on spots, written by locals. - "Best window today/this weekend" callout. **Success metric for this persona:** ≥80% of her sessions end in a successful flight (self-reported via the post-visit prompt), versus an estimated ~50% hit rate guessing today. **Anti-requirements:** Do not make her create an account to check conditions. Do not show her gust ratios, wind roses, or model names unless she expands "details." --- ## 4. Persona 2 — "Stunt Dev" (sport kiter) > *"Mean wind speed is almost useless to me. A smooth 8 mph beats a gusty 14 every single time."* **Profile** - Age 29, software developer, Portland, Oregon. Single, flexible schedule, flies 2–3 times a week in season. - Owns six kites: two dual-line framed stunt kites (standard and ultralight), a quad-line Revolution-style kite, and three small trick kites. Total investment ~$1,400. - Practices tricks and precision figures; competes in regional festivals twice a year. - Tech comfort: expert. Already cross-references three wind apps; wants raw data *and* the synthesis. **Goals / jobs-to-be-done** 1. *When I have a free 2-hour block, tell me which of my five regular spots has the smoothest wind right now, so I spend it flying instead of driving and testing.* 2. *Help me pick which kite to bring — ultralight, standard, or vented — based on the forecast band.* 3. *Alert me when a rare condition occurs: 10–14 mph steady, gust ratio under 1.3, at my home field.* **Frustrations today** - Gustiness data is buried or absent in consumer apps; he computes gust ratio in his head. - Turbulence from upwind buildings/treelines ruins spots that look fine on paper — only local knowledge captures this, and it lives in a Discord channel. - No app understands that a framed kite has a *ceiling*: 20+ mph wind is a no-fly for his standard sail, not a bonus. **Key needs → features** - Gust ratio displayed first-class; flyability score that *penalizes* turbulence and over-wind. - Per-spot "wind quality" community annotations by direction (e.g., "dirty wind from W due to tree line"). - Multi-spot comparison view; saved spots; condition alerts (post-MVP). - Hourly forecast graph with mean + gust bands and his kite's wind window overlaid. **Success metric:** Reduces "scouting drives" (visits with no flight) by half; uses the comparison view in ≥60% of sessions. **Anti-requirements:** Don't dumb down the data. Plain-language summaries are fine but raw numbers (with unit preferences: mph/kph/kt/m/s, Beaufort) must always be one tap away. --- ## 5. Persona 3 — "Kitesurfer Inés" (kite surfer; variant: power/traction kiter) > *"Wrong wind direction at the coast isn't a bad session — it's a safety incident waiting to happen."* **Profile** - Age 34, physiotherapist, Cádiz, Spain. IKO-certified kiteboarder, 7 years' experience. - Quiver: 9 m and 12 m LEI tube kites, twin-tip board, hydrofoil. ~€3,500 invested. - Travels for wind: weekend trips to Tarifa, annual trips abroad. Plans sessions days ahead around the Levante/Poniente wind systems. - Tech comfort: high. Power user of Windguru/Windy; skeptical of any score she can't audit. **Goals / jobs-to-be-done** 1. *When planning the week, show me which days and which spots have side-onshore wind in my kites' range, so I can book my schedule around them.* 2. *Warn me hard about offshore wind, storms, and gust spikes — direction relative to the shoreline is as important as speed.* 3. *When traveling, give me trustworthy local spot info: launch zones, hazards (rocks, currents, swimmer zones), local rules, and tide sensitivity.* **Frustrations today** - Spot knowledge is fragmented across forums, school websites, and paywalled apps. - General wind apps don't encode shoreline orientation, so they can't flag offshore danger automatically. - Forecast models disagree; she wants to know *which* model a forecast came from and how confident to be. **Key needs → features** - Spot records carry **shore orientation** and per-direction safety classification (onshore / side-on / side / side-off / offshore), feeding the score: offshore wind caps the score near zero with an explicit danger banner. - 7-day forecast with model attribution and a visible forecast-confidence indicator. - Kite-size suggestion ("9 m day") from wind band + rider-weight default. - Tide annotations on tidal spots (data field + community notes in v1; live tide API is post-MVP). **Variant — "Buggy Pete" (power/traction kiter):** identical data needs on land; differences handled by data, not new features: traction wind bands are wider (10–25 mph), space requirements larger, surface type (hard-packed sand, grass) matters, and offshore wind is merely inconvenient rather than dangerous. The kite-type profile system covers this. **Success metric:** Plans ≥1 session/week through the forecast panel; zero score-induced safety complaints (offshore conditions must never score as "good"). **Anti-requirements:** Never hide the danger state behind a number. A spot with offshore 25 mph wind shows a red warning, not just "Score: 12." --- ## 6. Persona-to-feature traceability | Need | Maya | Dev | Inés/Pete | Feature (spec §) | |---|:-:|:-:|:-:|---| | Map of nearby spots with at-a-glance score | ● | ● | ● | F1, F4 | | Kite-type profiles driving the score | ● | ● | ● | F5 | | Plain-language condition summary | ● | ○ | ○ | F4 | | Gust ratio first-class | | ● | ● | F3, F5 | | Obstacle / hazard / legality metadata | ● | ● | ● | F2 | | Shore orientation & offshore danger logic | | | ● | F2, F5 | | Hourly + 7-day forecast with flyable windows | ● | ● | ● | F6 | | Multi-spot comparison | | ● | ● | F7 | | Community spot editing & condition reports | ○ | ● | ● | F8, F9 | | Unit preferences (mph/kph/kt/m/s/Bft) | ○ | ● | ● | F10 | | Works logged-out, mobile-first | ● | ● | ● | NFRs | ● = primary need, ○ = secondary.