About Global Ski Atlas
Learn about Global Ski Atlas, the technology behind it, and the team.
What Global Ski Atlas is for
Global Ski Atlas helps skiers understand downhill resorts with comparable mapped data instead of mismatched marketing pages. The project indexes thousands of ski areas worldwide from OpenStreetMap geometry—resort boundaries, trails, and lifts—then publishes them through an interactive map, an online atlas wiki, side-by-side comparison tools, drive-time and trip-planning maps, open GeoParquet downloads, and a growing blog of guides for skiers and mappers.
We do not sell lift tickets or rank mountains as “best.” We surface consistent statistics so you can decide for yourself: whether a local hill fits beginners, how Epic and Ikon footprints compare to the broader open dataset, which states and countries have the densest ski areas, and how trail and lift geometry actually look on the map. When data is incomplete, we document how to improve it upstream in OpenStreetMap so the next atlas build is better for everyone.
The sections below explain how the public website, cloud data pipeline, and related geospatial work are put together. For questions or corrections, use the contact page or start with the FAQ.
Frontend
Static site, CDN, and Online Atlas wiki
The site is built and deployed from GitHub via GitHub Actions. Static content—about.html, other pages, css/, and assets—lives in Amazon S3; Amazon CloudFront serves it over HTTPS to users and browsers. The Online Atlas wiki is powered by API Gateway and AWS Lambda. Lambda reads and writes Amazon DynamoDB tables (WikiPages, WikiRevisions, WikiComments) for resort pages and edits. Map data can optionally come from the backend S3 GeoParquet layer.
Backend
Data pipeline: from code to map
The data pipeline runs on AWS. Code in GitHub is built and pushed as container images to Amazon ECR; GitHub Actions drives CI/CD. Amazon ECS Fargate runs the pipeline jobs, which write processed data into Amazon S3—public GeoParquet in combined/ for the frontend map, and versioned Iceberg tables in iceberg/ for analytics. AWS Glue provides the Data Catalog; Athena and Spark query the data. The frontend map consumes the public GeoParquet from S3.
Jonathan Witcoski
Solo creator of Global Ski Atlas
Global Ski Atlas is a solo project by Jonathan Witcoski. To learn more about me and my other projects, visit witcoskitech.com or connect on LinkedIn.
Why This Was Started
Standardized resort information for skiers
The inspiration came from Storm Skiing, skimap.org, and openskimap.org. I started this due to the lack of standardized resort information—custom maps make it hard to compare. The atlas compiles statistics using OpenStreetMap and QGIS so skiers can compare resorts fairly.
Built with React & MapLibre
Modern, interactive maps and UIs
Maps are powered by MapLibre, loading GeoParquet data for fast, client-side rendering. Several parts of the site use React for responsive UIs—including the resort comparison tool and other data-rich views—so you get component-based interfaces that work well across devices.
Vector Scope
ESRI and open-source geospatial integration
Vector Scope uses Global Ski Atlas as a case study for integrating ESRI and open-source geospatial—Sedona, Iceberg, and GeoParquet—with modern web mapping. Whether you need web apps, data pipelines, or lakehouse-style GIS, get in touch to discuss your project.
Publishers and media: book pitch.