Skip to content
Public transport

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
Libertas bus lines grouped into city, suburban west and suburban east, next to a map of Dubrovnik with 38 live buses

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.

Illustration with simulated positions and times, sped up.
  1. The bus sends its position

    The tracking system on board reports where the bus is, every few seconds.

  2. 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.

  3. 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.

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

Tell us what you want to build

A free, no-obligation conversation about your idea. You get an honest view on scope, cost and the best way to start.