A paragliding flyability prediction page for predefined launch sites in Antioquia, Colombia. Volable is a prediction engine, not a weather app — it ingests forecasts from multiple sources, runs deterministic per-flight-type rules, and renders skill-graded verdicts (BEGINNER / INTERMEDIATE / EXPERT / NOT FLYABLE / NO DATA) with full provenance and confidence scoring.
v1 ships with a single launch site — San Félix (Bello, Antioquia) — and three days of forecast (today, tomorrow, day-after). Aggregation runs every 30 minutes via Oban, fetching in parallel from Open-Meteo, METAR @ SKMD, Windy, and SIATA. The active feature spec is at specs/001-san-felix-flyability/, and the engine itself is documented in the canonical specs/001-san-felix-flyability/prediction-model.md (v1.0).
Elixir 1.19.5 / Erlang 28.5 · Phoenix 1.8.7 / LiveView 1.1 · Ecto + Postgres · Oban scheduled aggregation · Phoenix.PubSub for realtime · Tailwind. Deployed to Fly.io. Public repo with GitHub Actions CI/CD.
Test-driven. Per specs/001-san-felix-flyability/tasks.md, every user-story implementation task is preceded by failing tests against the prediction-engine contracts (prediction-model.md §§5–10). Run mix test --cover locally before committing; CI enforces the same plus mix format --check-formatted, mix credo --strict, and mix sobelow.
asdf install # picks up .tool-versions
mix deps.get
cp .env.example .env # fill in WINDY_API_KEY etc.
mix ecto.create
mix ecto.migrate
WINDY_API_KEY=<key> mix phx.serverOpen http://localhost:4000 — the LiveView at / renders three day-rows for San Félix. Full quickstart with acceptance-scenario walkthrough at specs/001-san-felix-flyability/quickstart.md.
This is a personal/hobby project but the repo is public. Patches, calibration data (especially comparing predictions against XContest tracklogs), and pilot feedback are welcome via issues and PRs.
MIT.