
Routes drawn on the map
Each result draws itself from origin to destination, leg by leg, in about 0.9 seconds. The selected route is drawn in color over its gray line, estimated paths are dashed, and flights show a plane on the line.

Journey planner comparing train, coach, ferry and flight prices across Denmark.
BilligtFrem is a journey planner for travelers in Denmark. One search can cover trains, coaches, ferries, domestic flights, walking and driving, combines them into door-to-door routes and compares them on total price, including every mandatory charge it knows of. It is VOA's own product, which I build together with Aske Gudmand-Høyer.
Getting around Denmark can mean choosing between a train, a coach, a ferry or a short domestic flight, each from a different operator with its own site and prices. Comparing them means searching each one, joining connections by hand and adding up the fees yourself.
BilligtFrem is live at billigtfrem.dk. One search checks up to ten providers and ranks the combined routes as Cheapest, Best and Fastest. I built the map, most of the search and results UI, the self-hosted OSRM stack and OpenTelemetry tracing; Aske owns the provider integrations, route engine and pricing.

Each result draws itself from origin to destination, leg by leg, in about 0.9 seconds. The selected route is drawn in color over its gray line, estimated paths are dashed, and flights show a plane on the line.

Sort tabs show the cheapest, best and fastest winner up front, filter chips narrow by ways to travel, changes, departure time and price, and each row opens in place with its itinerary, price parts and buy buttons.

The start page pairs a short trip form with popular trips and a map of Denmark. Hovering a popular trip frames it on the map, and clicking one searches it with the visitor's chosen time and travelers.

The search bar's provider picker sets which providers to search, the value of time (kr/h) the Best tab weighs against price, and a driving cost (kr/km). The results header counts providers checked; the footer names any that found nothing.




