OpenBike
For the uninitiated, nextbike is a bike-sharing company. Clients pay a subscription fee and are allowed to rent bikes from multiple stations, with some cities also offering ‘floating’ bikes, which can be rented and returned anywhere within given areas.
I myself have been a mostly happy customer of nextbike for some time now. In my case, not having to deal with maintenance, as well as not using up precious space in my small apartment are great benefits. It also allows me to go somewhere by foot and then come back by bike or vice-versa, which is rather convenient.
I say mostly happy, because while I am happy with the actual service, their mobile (Android) app is another story. Briefly pointing out what has been bothering me in no particular order:
- The application is closed source (boo!)
- The landing screen seems poorly optimized: a zoomed-out map loads an indecent number of bike markers, which cause the entire app to crawl to a halt on older hardware
- The map is filled with e-scooters even though these are not available for rent via the app (basically free ads for Tier, who recently acquired nextbike)
- While it’s possible to filter out e-scooters, you have to do that every single time you open the app, after waiting for the app to stop lagging
- There is no way to mark stations as favorite. Sometimes, all I want is to be able to quickly check if one of my regular stations has a bike available.
So - what now?
After a bit of research, I found an alternative client called NextCompanion by cybre-finn. They took some time to reverse engineer nextbike’s API and published their results (thanks!).
NextCompanion calls itself a “minimalistic client for NextBike” and well… it is. With it, you can type out a bike’s number to rent it, and get an overview of your rented bikes - that’s all. While I’m sure people on the far left end of the minimalism/bloat spectrum will be overjoyed using it, I would prefer to have one or two more features.
Another thing I stumbled upon during my research, was the actual publicly available API documentation… so with that, and inspired by the simplicity of NextCompanion, I decided I’d write my own app with the following features:
- QR-Code scanner to replace manually having to input the bike’s ID
- Re-triggering an unlock, since sometimes locks get stuck
- Pausing/resuming rentals
- Overview of favorite stations and their bike counts
- Locally stored rental history (to calculate some statistics)
The result is exactly what I want from a mobile application - simple and functional:



Clicking on the (+) icon opens up the QR code scanner, allowing you to quickly scan a bike. Current rentals are displayed on the main screen, and you can add certain stations to your ‘bookmarks’, by clicking on a rental and clicking ‘bookmark starting station’.
The repository is now public and the first version should pop up in F-Droid shortly. The APK is also available to download from the repository’s Releases page (although the recommended way is via F-Droid].