Timetable application
A public-facing timetable application for a regional transport operator covering buses and trains across the entire Małopolska voivodeship, embedded as a widget inside the client's existing website.
- Client
- Koleje Małopolskie
- Category
- Products
- Year
- 2024
- Duration
- 6 months
The challenge
Koleje Małopolskie operates dozens of bus and train routes across the entire Małopolska region, but their schedule data existed only in raw GTFS format, a technical standard passengers cannot directly interact with. The solution needed to be embedded inside their existing website without touching the host page, and had to support multi-modal connection search across hundreds of stops spanning two transport types.
What we built
We built a Flutter web widget with a bootstrap configuration system, so the client embeds the entire application by adding a single script tag and an empty container to their existing page. On the backend, a NestJS service handles nightly GTFS ingestion, checking for dataset changes via hash comparison and refreshing the database when updates are detected. The core of the connection search is a custom implementation of the RAPTOR algorithm, built from scratch based on the original Microsoft Research paper and extended to support multiple itineraries across mixed bus and train routes. A GraphQL API serves the frontend, background workers generate printable PDF schedules, and an admin panel lets the client configure route colours, highlighted stops and upload GTFS data manually when needed.
The results
- ↗ Covers the entire Małopolska voivodeship with 60+ bus routes and 10+ train routes
- ↗ Multi-modal routing across hundreds of stops with live pricing from the ticketing system
- ↗ Fully embedded into the client's existing website with no modifications to the host page
Key features
- 01
Multi-modal connection search
- 02
Printable PDF schedules
- 03
Real-time ticket pricing
- 04
Embeddable widgets
Gallery




- NestJS
- TypeScript
- Flutter
- PostgreSQL
- Redis
- MinIO
- GraphQL
- OpenStreetMap
Let's build your product together
Tell us what you're building — raw notes are fine. In a 30-minute call you'll get honest feedback, a rough timeline and a budget range. No pressure, no sales pitch.
- ✓ Reply within 1 business day
- ✓ NDA on request
- ✓ Free estimate