There is a ~mirror at https://unop.uk/tube/ in case CloudFlare go down. Although as I discovered recently, this doesn't help as the API runs on them too! There's another API I could use as a backup but it's not as good.
For the curious: https://reactube.com/
Given that we've both independently implemented basically exactly the same thing, I wonder how many other people would want something like this.
A bit more glass half full, and reduces the light count by 33%!
[1] https://gist.github.com/kevana/32bfa486d9fb0aa20a19694d1b69d...
Much better than the MTA's website... though slightly less useful if you're not me commuting to work.
What I learned from this exercise is that:
1) The estimates are consistently inaccurate; downtown trains at Chambers St. always arrive when the clock says "2" (minutes until arrival).
2) They use some sort of distributed cache that doesn't remain consistent; as you bounce between backend instances you get different results, but often the same two results. (The red/green lines under the station names indicate freshness.)
3) The clocks in the stations don't work when it's too hot, but the actual data collection/processing is fine.
It was very annoying to implement, but as a user it is very nice to know how much thought has gone into it.