Zieleniec Sport Arena — a new website with the custom slope-management system for Poland's largest ski resort
Zieleniec Sport Arena is the largest ski resort in the Klodzko Valley and one of the largest in Poland: 40 slopes across 23 kilometres, 29 lifts, and 32 illuminated runs for night skiing until 21:00. Snow lies there almost 150 days a year, and north-facing slopes with an Alpine-like microclimate keep conditions good through the season.
Running a resort at that scale comes down to one operational truth: conditions change constantly. Which runs are open, which lifts are working, how much snow fell overnight — guests need that before they drive three hours from Warsaw. The old website couldn't deliver it.

The problem
The previous site ran on WordPress: slow, structurally tangled, and — most critically — impossible to update efficiently. Slope and lift statuses had to be changed by hand, articles were being repurposed as page content, and the sitemap was a maze. For a resort that competes on conditions, a slow or outdated website isn't a UX problem. It's a trust problem. If guests can't confirm their favourite run is open before leaving home, they check a competitor instead.
What I built
Ten weeks. 35 pages rebuilt from scratch. A full redesign, a custom slope-and-lift management system, CMS for blog and news, and Cloudflare infrastructure replacing WordPress — all in Webflow.


The slope-status panel is the centrepiece. The operations team logs into a custom Webflow interface, toggles each slope and lift open or closed, enters current snow depth, and saves. That data updates two places at once: the homepage summary and the dedicated conditions page, where slopes are grouped live by status. What used to take significant time every day now takes minutes.

Not everything needs a human, though. The resort runs its own weather station on-site, and I pulled its feed onto the site through a Cloudflare Worker sitting between the station and the front end. The Worker fetches and caches the readings, so the homepage shows live temperature, snow cover, and conditions straight from the mountain — without hammering the station's API on every visit, and without breaking if it goes quiet for a moment. Between that automated feed and the operations panel, the site reflects what's actually happening on the slopes in near real time.

Alongside it, I built a public API (documentation in Polish) so third-party ski aggregators and travel platforms can pull Zieleniec's live conditions directly. For a resort this size, being the source of truth across external platforms is real visibility.
The full architecture was rebuilt with a clean content hierarchy, CMS-driven editorial content, and Cloudflare performance infrastructure — replacing WordPress, which lifted the Lighthouse performance score from 35 to 90.
What worked well
The management system solved a genuine operational problem — in the client's words, the ease of controlling slope statuses was something they genuinely valued. And because the build is Webflow-native, the team handles routine content updates themselves, with no developer in the loop.
What I'd do differently
One honest note: at peak season the site draws around 200,000 unique visitors a month, and Webflow's bandwidth costs scaled faster than the client expected. On a project like this I'd now model traffic and hosting costs explicitly upfront, before locking in the infrastructure approach.
The result
- 35 newly redesigned, fresh pages that client can manage by his own.
- Slope conditions updated in minutes, not hours.
- Live weather from the resort's on-mountain station, served through a cached Cloudflare Worker.
- A public API extending Zieleniec's data across third-party platforms.
- Lighthouse 35 → 90 versus the old WordPress site.
A site that loads fast and gives guests what they need before they pack their ski boots — and, on my end, a much sharper understanding of what "high traffic" means when you're building for Poland's largest ski resort.
Ready to build something that actually works?
Book a free 30-min call




