Depending on the application, you can get pretty far with the Data Science Toolkit's geo data[1], some boundary data [2], and something like Leaflet JS[3]. It won't support pathfinding out of the box, but you can do (bidirectional) geocoding, map rendering, state/county/city-level labelling/border-drawing, and lots of other cool stuff.