finds.dev← search

// the find

skylines-project/skylines

★ 407 · Python · AGPL-3.0 · updated Oct 2026

Open-source live tracking, flight database and competition platform for soaring pilots

SkyLines is a Flask and PostGIS web app where glider and paragliding pilots upload flights, compare rankings, and follow each other, with a separate gevent process handling live position tracking during flight. It grew out of XCSoar's tracking and still shares algorithm code with it, so it suits pilots who want an open alternative to commercial tracking sites, or clubs that want to run their own instance.

- The live tracking server is a separate gevent process rather than something bolted onto the Flask app, so position traffic doesn't compete with web requests. PostGIS handles the geospatial queries in the database instead of in Python.

- It has been in production at skylines.aero for years, and it shares flight-analysis code with XCSoar. The algorithms have been exercised by real flights, not just tests.

- The deployment story is unusually complete for a project this size. There's a Dockerfile, separate dev, override, and prod compose files, a Caddyfile, a devcontainer, a Vagrantfile, and docs for Docker deployment and architecture. Pipfile.lock pins the Python dependencies.

- It is actively maintained. The last push was two days before this review, and the CI runs on GitHub Actions.

- The README is stale. The build badge points at travis-ci.org, which no longer serves public projects, the license header says 2012-2019, and the PostGIS requirement is listed as 2.x. Someone evaluating the project from the README gets an out-of-date picture.

- There are two frontend and backend stacks with different concurrency models: Flask with Python for the web app and gevent for tracking. Running it means operating both, and the Ember frontend (with Bower config and classic controller and route layout) is a separate skill set that most Python contributors won't have.

- Contributor guidance is thin. The README points to a Slack invite on a Heroku subdomain and a wiki, and the patch guidelines are three bullet points. For a project this size, the lack of a testing or local dev walkthrough in the README is a real barrier.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →