Reduce map detail by A LOT, only junction-to-junction

Hello, I want to visualize a map only showing roads. I got my Java Implementation working but it’s very slow due to the amount of data in the .osm file.

What I have done first was to remove footways, living streets etc. by doing

osmium tags-filter berlin.osm w/highway!=footway,path,service,track,bridleway,pedestrian,steps,elevator,living_street,cycleway,abandoned,construction,residential -o berlin_streets.osm.pbf

This has reduced the map size from 1gb to 20mb which is great. However, I am interested in getting something that’s less than 3mb in size.

Using JOSM and loading my 20mb map in there I have noticed that there is way more detail than I need. Major roads have sophisticated mappings for each turn etc. which just isn’t needed for my case as I’m going to display the result on a 7 inch screen. For my use case a highway that is 2km in length could do with an accuracy of a few hundred meters, smaller streets basically only need one start and one end point, no further detail. I’d also be fine with just having every road, even highways, mapped with only 2 edges.

Is there a tool I can make use of where I can specify accuracy like that? I have tried JOSM’s “Simplify Way” feature and although being able to specify a threshold is great, it too often decides that it wants to keep way more points than I need, resulting in hardly any optimization.

Please have a look at my example. The detail that OSM offers is astonishing but my scheme below shows what I’d already be happy with. I don’t need 4 edges for a 30m ramp, I don’t need the ramp at all. Basically a junction-to-junction map would satisfy my needs in every way.

Thank you for your replies, I prefer working on macOS but also I have access to an ubuntu installation or even Windows if needed.