ByteWave
Public sector · Interactive map · EU project

Kudowa-Zdrój interactive cycling trail map — Interreg CZ-PL project

In 1 month we delivered to Kudowa-Zdrój Municipality an interactive platform with 5 cross-border cycling trails and 57 tourist attraction points. The project was created as part of the Interreg Czech-Poland 2021-2027 programme, connects Polish and Czech cross-border cycling paths, and offers travellers a complete toolkit: elevation profiles, GPX export, trail filtering, POI maps, bilingual interface.

Project duration: 1 month
Open project: trasyrowerowe.kudowa.pl

Client and project context

Kudowa-Zdrój Municipality is a well-known Polish spa town in the Stołowe Mountains, on the very border with the Czech Republic. The region has significant cycling tourism potential — connecting two countries with a historic recreational path, featuring historic towns, parks, mineral springs, and unique nature.

The client received funding under the Interreg Czech-Poland 2021-2027 programme for the project "Kudowa-Zdrój – Žďárky Cycling Path", which connects Polish Kudowa with the Czech town of Žďárky in the Stołowe Mountains range. Full project implementation included building the path, marking POIs, and creating an interactive online map that makes the route available to cyclists from around the world.

ByteWave was chosen as the contractor for the digital part of the project — interactive map with content management system. The requirement was clear: 1 month delivery, bilingual PL/CZ interface, integration into a cross-border EU programme.

Challenge

The challenge

Creating an interactive tourist map for an EU project is a project with specific requirements — combining geographic aspects (geodata, maps, GPX), tourist (trail and attraction descriptions), public (compliance with Interreg programme requirements), and technological (interactivity, performance, mobility).

The most serious challenge was the short delivery time — 1 month. In such a short time we had to design the map, integrate geodata (5 trails + 57 POIs in 9 categories), build a custom CMS for the municipality, implement bilingualism PL/CZ, and prepare documentation for the Interreg programme.

The second challenge was automatic POI input — 57 points is a lot for manual entry. We created a dedicated import script that retrieves geographic and descriptive data from external format, validates it, and automatically creates objects in our CMS — the municipality received a tool to easily add more points in the future without involving programmers.

Specific requirements

  • Interactive map with 5 cycling trails in the Kudowa-Zdrój – Žďárky border zone
  • 57 POI points in 9 categories: Monuments, Nature, Viewpoints, Museums, Rest areas, Information, Churches, Border crossings, Parks
  • Bilingual interface (PL/CZ) with easy expansion option
  • Trail filtering by difficulty (easy, medium, hard)
  • Elevation profiles for each trail
  • GPS / GPX download for each trail
  • CMS admin panel for the municipality to add POIs and trails independently
  • Full technical documentation as project requirement
  • Implementation in 1 month — hard deadline of Interreg programme
  • Compliance with cross-border EU programme requirements
  • Mobile-first design — most users are cyclists in the field

1-month implementation process

Compressing the project to 1 month required parallel implementation of multiple threads and use of a proven technology stack. Each week had a specific milestone with client verification.

01

Discovery and data preparation

1 week

Meetings with Kudowa-Zdrój Municipality, Interreg project analysis, agreements with Czech partners from Žďárky. Collecting geodata for 5 trails, descriptions of 57 POIs, attraction photos, municipal content. CMS structure mapping.

02

Architecture and map prototype

1 week

Leaflet configuration + tile providers, map layout design, filters, trail lists, POI sidebar. Interactivity prototype: zoom, POI click, trail details. Database schema.

03

Development and CMS

1.5 weeks

Frontend implementation (Leaflet + JS), backend (PHP API), custom CMS, POI import mechanism, elevation profiles, GPX export. PL/CZ bilingualism. Mobile testing.

04

Testing, documentation, deployment

0.5 weeks

Testing with municipality and Czech partners, language corrections, performance optimisation, technical documentation for Interreg, CMS training, production deployment.

Solution

Technical solution

The heart of the map is Leaflet — open-source JavaScript library for interactive maps. Not a random choice: Leaflet is mature, fast, lightweight, has a rich plugin ecosystem, and can use various tile providers (OpenStreetMap, Mapbox). No dependency on commercial APIs (like Google Maps) which is key for a public project — the municipality does not pay per request.

POI data is handled through a dedicated import script that we designed. The municipality or project partners can prepare data in a simple format (CSV, GeoJSON), the script automatically validates fields, normalises coordinates, categorises POIs, and creates objects in the database.

Frontend has built-in elevation profiles for each trail — elevation charts generated from GPX points. This gives cyclists insight into trail difficulty before they head out. GPX export enables downloading the file to external navigation (Garmin, Wahoo, cycling apps).

Why Leaflet instead of Google Maps?

Google Maps is commercial API with per-request fees — for the municipality this is a risk of unpredictable costs. Leaflet + OpenStreetMap is a free open-source solution.

Why custom CMS, not WordPress?

WordPress is great for editorial content, but managing geodata (trails, POIs with coordinates) requires a specialised interface. Custom lightweight CMS allowed us to tailor the UI exactly to the municipality's needs.

Why automatic POI import?

57 points is too many for manual entry within a 1-month deadline. Import script allowed importing all POIs in a few hours, plus created a tool for the municipality for the future.

Key platform features

The platform was designed with three user groups in mind: cyclists planning trails, tourists looking for attractions, and municipal administrators managing content.

01

5 cross-border cycling trails

Trails connecting Polish Kudowa-Zdrój with Czech Žďárky — from easy (Kudowa-Słone-Náchod Bělovés, 20 km), through medium (Kudowa-Žďárky-Hronov 19 km, Kudowa-Žďárky-Pstrążna-Czermna 15 km), to challenging mountain routes (29-32 km).

02

57 POI points in 9 categories

Monuments, Nature, Viewpoints, Museums, Rest areas, Information, Churches, Border crossings, Parks. Each POI with description, photos, coordinates, opening hours (when relevant).

03

Trail filtering by difficulty

Easy / Medium / Hard — with instant highlighting on the map. Cyclist quickly sees options matching their level.

04

Elevation profiles

Each trail has a built-in elevation chart generated from GPX points. Cyclist sees trail difficulty before heading out.

05

GPX export for each trail

Downloading the GPX file enables loading the trail to external navigation — Garmin, Wahoo, apps like Komoot, Strava.

06

GPS and user location

"Where am I?" function shows cyclist's position on the map — key for use in the field during trail.

07

Bilingual PL/CZ interface

Complete translations of interface and content between Polish and Czech. Flag switcher in header. Possibility to add more languages without structure change.

08

Custom CMS for municipality

Admin panel allows municipality to independently add POIs (with click on map), manage trails, edit descriptions in both languages, add photos. Without involving programmers.

09

Automatic POI import

Dedicated script enables importing larger amounts of POIs from CSV/GeoJSON format. Validation, normalisation, categorisation — all automatic.

10

Mobile-first design

Most usage is cyclist in field, on phone. Interface optimised for touch operation, compact views, fast loading even with weak signal.

Tech stack

Open-source stack giving full control over functionality and no per-request fees.

Leaflet
Open-source map library — fast, lightweight, rich ecosystem, no fees
OpenStreetMap
Free tile providers — no per-request fees
JavaScript (vanilla)
No dependency on heavy frameworks — fast loading
PHP 8.x
Backend for CMS and map API
MySQL
Database of trails, POIs, categories, bilingual content
Custom CMS
Dedicated interface for municipality to manage geodata
GeoJSON / GPX
Standard geographic formats for import/export
POI import script
Automatic addition of points from CSV/GeoJSON
Elevation profiles
Generated from GPX points for each trail

Results

The Kudowa-Zdrój cycling trail map was delivered within the 1-month deadline and deployed to production at trasyrowerowe.kudowa.pl. It meets all requirements of the Interreg Czech-Poland 2021-2027 programme — both functionally (5 trails, 57 POIs, bilingualism) and documentation (full technical documentation).

Kudowa-Zdrój Municipality issued a reference letter highlighting timeliness, professional approach and substantive knowledge of the contractor. Full text available at /referencje/kudowa/.

From the tourists' perspective, the platform has become the main tool for planning cycling trips in the Stołowe Mountains. From the municipality's perspective, the CMS enables independent content updates — adding new POIs, correcting descriptions, adding photos — without involving ByteWave.

What's next

The Kudowa-Zdrój trail map is actively maintained by the municipality — new POIs added, descriptions updated, seasonal attractions added. Roadmap includes expansion to more regional trails, adding 360° panoramic photos for the most scenic points, and integration with cycling apps.

"The task was completed with due diligence and on time. The contractor demonstrated appropriate substantive knowledge, experience and professional approach to the assigned duties."

Justyna Klich · Secretary of Kudowa-Zdrój Municipality
Read full reference letter

Have a project idea?

Let's talk about how we can make it happen.

Get in touch