About GlideComp
About me
I want to learn from better pilots, and ultimately out compete them!
Gliding competitions are a unique experience where you can fly in the same air as the best pilots in the world. After the day's task, you can talk to them, and analyse their flight data.
I built GlideComp to figure out which line they took, how fast they flew, how well they climbed, and ultimately how they scored in the task!
— Tushar Pokle (Summer 2026)
Acknowledgements
These libraries, tools, data sources and resources made GlideComp possible.
Mapping & Geospatial
- Mapbox GL JS — Interactive vector maps, terrain elevation and satellite imagery (Mapbox Terms of Service)
- OpenStreetMap — The base map data behind the Mapbox styles, © OpenStreetMap contributors (ODbL 1.0)
- Turf.js — Geospatial analysis (distance, bearing, bounding boxes) (MIT)
- Threebox — Three.js integration for Mapbox GL (MIT)
- tz-lookup — Timezone from coordinates, so each task reads in its own local time. Its database is built from Evan Siroky's timezone-boundary-builder, itself derived from OpenStreetMap (CC0 1.0)
3D & Rendering
- Three.js — 3D graphics library (MIT)
Competition Data
GlideComp did not score the past competitions on this site first. Pilots flew them at real events, the organisers scored them, and the organisers published the results. GlideComp scores the same tracks again, so it can show its working. Anyone can then compare its scores against the official result.
- xc.highcloud.net — The AirScore instance the Australian competitions here were scored on, and the source of their tasks, track logs and official results. Those flights remain the work of the pilots who flew them and the organisers who ran the events
- AirScore — The GAP scoring software behind that site. GlideComp's scoring is checked task by task against the results AirScore published, so a score here can be traced back to the one that was flown for (GPL 2.0)
- FAI / CIVL Sporting Code Section 7F — The GAP cross-country scoring specification that GlideComp implements and explains
Weather Data
The field analysis of each task shows the conditions: the wind through the day, the cloud cover, and the height of the thermals. These come from an outside meteorological archive. They are modelled figures, sampled at a grid point near the task, and not readings taken at launch. The organiser's weather notes on each task are therefore the local ground truth.
- Open-Meteo — Archived forecasts and historical weather, free and open, under CC BY 4.0
- ECMWF — The IFS forecast model, and the ERA5 reanalysis that covers older competitions, produced for the Copernicus Climate Change Service
UI & Styling
- React — The app itself, rendered with React DOM and routed with React Router (MIT)
- React Aria Components — Adobe's accessible component primitives, with @internationalized/date for time zone–correct dates (Apache 2.0)
- shadcn/ui — UI components, built on Base UI (MIT)
- Tabulator — The editable pilot, task and results grids (MIT)
- Lucide — Icon set (ISC)
- Sonner — Toast notifications (MIT)
- Tailwind CSS — Utility-first CSS framework, with clsx, tailwind-merge, class-variance-authority and tw-animate-css (MIT)
- KaTeX — Fast math typesetting for the scoring formulas (MIT)
- input-otp — One-time-code field for sign-in (MIT), and qrcode.react for two-factor setup (ISC)
- Fontsource / Atkinson Hyperlegible Next — Self-hosted web font designed for readability, © the Atkinson Hyperlegible Next Project Authors, under the SIL Open Font License 1.1
Backend & Auth
- Hono — Web framework for Cloudflare Workers (MIT)
- Better Auth — Authentication library (MIT)
- Kysely — Type-safe SQL query builder, with kysely-d1 for Cloudflare D1 (MIT)
- Zod — Schema validation for the API request bodies (MIT)
- Sqids — Short, non-sequential public ids for competitions and tasks (MIT)
Build & Platform
- Vite — Build tool and dev server (MIT)
- Astro — Static site builder for the content pages (MIT)
- TypeScript — Typed JavaScript (Apache 2.0)
- Bun — JavaScript runtime and package manager (MIT)
- Vitest — Unit test runner for the engine and the workers (MIT)
- Playwright — End-to-end browser tests (Apache 2.0)
- Cloudflare — Pages, Workers, D1 and R2 hosting
AI
- Claude Code — AI coding assistant by Anthropic
Design Resources
- Free SVG Backgrounds and Patterns by SVGBackgrounds.com — SVG background patterns