Creating a [traffic simulation](https://github.com/dabreegster/abstreet/#ab-street) that's both realistic enough to generate results meaningful in the real world, but easy enough to use that anybody living in a city could use it to experiment with some change to cycling or transit infrastructure. Some of the problems hiding in there:

- Getting a representation of a city that cleanly divides paved areas into distinct roads and intersections, and understands the weird multi-part intersections that Seattle has plenty of. [This](https://docs.google.com/presentation/d/1cF7qFtjAzkXL_r62CjxB...) and [this](https://github.com/dabreegster/abstreet/blob/master/docs/art...) have some details about how I'm attempting this so far.

- Inferring reasonable data when it doesn't exist. How are traffic signals currently timed? No public dataset exists, so I have heuristics that generate a plan. If I can make the [UI](https://raw.githubusercontent.com/dabreegster/abstreet/maste...) for editing signals fluid enough, would it be worth trying to collect this data through crowd-sourcing?

- Figuring out what to even measure to demonstrate some change "helps a bus run faster." Should people try to minimize the 99%ile time for all buses of a certain route to make one complete loop over the whole day? Or to reduce the worst-case trip time of any agent using that bus by some amount? Or to minimize the average delay only during peak times between any pair of adjacent stops?

- Less technical: How to evangelize this project, get the city of Seattle and advocacy groups here using it, and find contributors?

Whoa that is super interesting. I think if you can somehow make a more simplified frontend for internet, it will greatly improve visibility. I'm not a frontend developer it might be able to have a simpler version completely rendered in webGL.

This is totally on my radar. I want to compile to wasm and target WebGL. I'm using https://github.com/glium/glium/ to target OpenGL on Windows, Mac, and Linux right now. I've been meaning to check out https://github.com/grovesNL/glow/, which also supports WebGL.