“Every human being has a basic instict: to help each other out. If a hiker
gets lost in the mountains, people will coordinate a search. If a train
crashes, people will line up to give blood. If an earthquake levels a city,
people all over the world will send emergency supplies. This is so
fundamentally human that it’s found in every culture without exception.
Yes, there are assholes who just don’t care, but they’re massively outnumbered
by the people who do.”
While I was living in Philadelphia, the city launched a bike share program,
Indego. I signed up early and used it regularly
to get from my apartment in Society Hill to CityCoHo,
where I was renting a desk.
I had played around with Status Board, but hadn’t had much of a use for
it until I found the
API for the status of the bike share stations.
It didn’t happen often, but it was annoying to get to a station and find
that there are no bikes to check out, or no docks available to return a bike.
Since I used the same stations regularly, it seemed like a good use case
of Status Board: I could create a table showing the available bikes and
docks for my favorite stations and check it whenever I was about to head out.
So I created Indego+Status Board.
I built the site using Flask. The index page
calls the bike share API to create a map of stations. You can click on
stations to add them to your list and then view them in Status Board
or in the browser.
The data are collected the same way for both Status Board and the HTML view.
The URL contains a list of station IDs as part of the query string. When
the Flask route is called, it fetches the station data from the API, loops
through the stations to find the ones with the right IDs and then renders a
simple HTML table with the requested data.
The Status Board table
has very little styling—the app has a table style already—just enough to
align the blue and gray bars.
I used it pretty regularly, though, and it was useful for me. There were a
couple of times that I could see that the station nearest my apartment was
full, so I knew to use an alternate on my way home.
But then I moved out of Philly and Panic announced they were shutting
down Status Board, so
now seems like a good time to retire this project and save myself a few
bucks a month by powering down the droplet.
The code is on GitHub if you’d like to run your own version. And it turns
out that other bike share programs have data APIs, so it could be adapted.
Two countries. Eight states. 10 National Park sites.
I got to do quite a bit of traveling this year, including my first international
trip since 2011. Here’s a list of where I went (first-time visits are in bold):
- Atlanta, Georgia
- Helsinki, Finland
- Kemi, Finland
- Rovaniemi, Finland
- Manteo, North Carolina (visited before moving)
- Denver, Colorado
- Ball Ground, Georgia
- Las Vegas, Nevada
- Raleigh, North Carolina
- Chattanooga, Tennessee
- Nashville, Tennessee
- Knoxville, Tennessee
- Asheville, North Carolina
- Vancouver, Washington, and
- Sedona, Arizona
- Flagstaff, Arizona
- Grand Canyon, Arizona
- Adrian, Georgia, and