Libertas Dubrovnik
Live buses and arrival times for Dubrovnik public transport
- Client
- Libertas Dubrovnik
- Platforms
- Web, iOS, Android
- What we did
- Product design, Web and mobile development, Vehicle tracking integration, Timetable and route management

The challenge
Libertas runs the public buses in and around Dubrovnik, from city lines between Mokošica, Gruž, Lapad and Pile to suburban lines reaching Orebić in the west and Molunat in the east. Residents rely on them every day, and in summer so do many visitors.
At a stop, the question is always the same: when is my bus coming? The answer needs the live position of every bus, the route it drives and a timetable that changes with the season, and all of it has to stay correct as lines and stops change.
What we built
We built a platform with two sides. Passengers get a map of every line and every bus on the road, and at any stop they see which buses are arriving and in how many minutes. Staff get an admin for lines, stops, routes and timetables, with printable timetables for the stops.
Each bus reports its position to the vehicle tracking system. The platform reads it, leaves out buses parked at the depot or the bus station, and pushes the positions to every open map every few seconds. From each bus's place on its route it estimates the arrival at the stops ahead. The new platform is being rolled out now and will replace the apps passengers use today.
How it works
From the bus to the stop in seconds
Follow a bus on line 1A on its way to Pile. Every few seconds it sends its position, and the arrival time at the stop updates with it.
The bus sends its position
The tracking system on board reports where the bus is, every few seconds.
The platform places it on the route
It matches the bus to its line, finds its place on the route and pushes it to every open map.
The stop shows the arrival
From the distance left to each stop, passengers see how many minutes until the bus arrives.
Key features
Buses live on the map
Positions are pushed to the open maps every few seconds over a live connection, and the feed is only read while someone is looking.
Arrivals at every stop
Pick a stop to see the buses coming and in how many minutes, estimated from where each bus is on its route.
Any tracking system
Ready-made readers for SmartPOS and GTFS-Realtime, and a mapping for any JSON or XML feed, set up and tested in the admin.
Timetables that follow the season
Each timetable has its dates and weekdays. A calendar shows which one runs on each day and warns about days with none.
Routes and stops
Staff place stops on the map, put them in order and calculate the route along the roads. Zones for the depot and the bus station keep parked buses off the map.
Printed timetables
A designer for the timetables posted at stops, exported as PDF, with a QR code that leads passengers to the app.
Screens




What it changed
- Passengers see where their bus is and when it arrives, instead of waiting and guessing.
- Lines, stops, routes and timetables kept in one place, by the people who run them.
- Open to any tracking system, so a change of supplier does not mean new software.
Technology
- Angular
- ASP.NET Core
- SignalR
- PostgreSQL
- Flutter
- Google Maps
- OpenRouteService
- GTFS-Realtime
- Microsoft Azure