NYC Guessr is a GeoGuessr-style game for the subway.
There are essentially two apps running in this repo:
- The NYC Guessr game
- The analysis UI at
/data: a visualization of 1 week of collected guess data. The data is no longer collected since it costs money to store and query, so it’s just a one-time thing
All station data is just manually created as a JSON file loaded from NYC Open Data.
That data was then copied into the
src/data/stations.tsx file and manually
merged with the list of station
in wikipedia so that things like Times Sq + PABT were treated as one station.
This is not an ideal data pipeline, but any sort of automated system felt like overkill.
For the analysis data, guess + final score info was pushed to firebase. That
data was then aggregated with a bigquery query to generate
src/data/guesses.tsx. An additional script was used to generate
files from the firebase data for each individual station.
Again, this was not ideal and would require an annoying amount of manual effort to do again, but I don’t really intend to do this specific analysis in an ongoing manner.
This project was bootstrapped with Create React App.
You should be able to run it with
npm run start
There are no tests, just manual testing.
Feel free to contibute any change! If you feel like making a contribution, some things I want to add are:
- Different “levels” (hard = no parks, easy = shows streets)
- More transit lines (Staten Island, LIRR, etc.)
- Perhaps different transit agencies!
- Any sorts of CSS or react improvments. These aren’t my area of expertise so lots of the code here is pretty bad