I got so frustrated with my city's bike share program one night and I wanted to figure out whether the problems I had been having were widespread or not.
Surprisingly enough there's a standard for bike share APIs [0] that my city adheres to. I'd been looking for an excuse to learn Haskell and figured the best way to stay motivated was to make useful tool for myself.
I've been working on it for the better part of a year at this point (probably >200 hours) and I use it roughly daily. After gathering a few months of station-level data it became clear enough that the system (specifically, how the e-bikes are handled) has some pretty serious issues.
I ended up sending the city a couple of freedom of information requests for some data I was missing and for the contract between them and the company that operates the system. The contract says that the operator gets paid a fee for every dead e-bike they move to a charging station - regardless of whether or not that bike actually manages to charge.
The city owns around 2000 e-bikes and there are frequently times where a whopping 20 are available - the rest are out of battery, sitting in docking stations for multiple days. Occasionally the operator shuffle the bikes over to the handful electrified charging stations, and about half the time the bikes don't charge (they just completely fill the stations, meaning nobody can use them - one of those stations happens to be right outside my partner's place). Then 4-7 days later they come around in a truck and get rid of the bikes, and the whole cycle repeats again in a couple days.
Basically, we're getting fleeced by the system operator. It isn't even clear to me if it's intentional or not, or just the usual combination of lax municipal oversight and an apathetic operator.
I've been meaning to send my data and the contract over to a few reporters who care about that sort of thing, since (a) the bike share system is genuinely a great way to get around (when it works) and (b) financially it's really good value for the city [1], and I'd like to see the problems fixed (especially given that the city is planning on massively expanding the e-bike fleet).
[0]: General Bikeshare Feed Specification: https://github.com/MobilityData/gbfs
[1]: The per-trip subsidy is $0.67, versus $4.08 for a trip on our transit system (!)