Pedal Wrencher

Another weekend project has found a home on the public internet.  I’ve just launched www.pedalwrencher.com.  It is a little project that uses flask, Strava’s API, and twilio to track how much people ride their bikes, and send them notifications when they hit certain milage points where maintenance is recommended.  So you will get something like this:

The idea is that this should always be free to users, and that I never keep very much data, or sell the data itself.  If enough people use this, then there are some interesting things that can be done along the lines of recommending local bike shops to the users or even concierge sale and shipment of the replacement parts.

Anyways, here is a quick overview of the stack (it’s a very small app), check it out for yourself.

- Flask: the website backend is super simple, single python file, under 300 LOC.  There are only 2 models, and about 5 pages.  There is an offline scheduled job that polls Strava for data updates every 15 minutes or so, and handles notifications.

- Postgresql (via SQLAlchemy): The web portion just has the 2 models for creating and modifying user profiles.  The bulk of the work happens in the recurring job, where most of the logic lives.

- Stravalib: this project, being so tightly coupled with Strava, leans very heavily on their APIs, which are nicely exposed in python with stravalib.

Let me know if you have any questions or would like to contribute.