About 8 months ago I launched www.pedalwrencher.com, as written up here. At the time, it was a single file Flask app, held together with rubber bands and bubble gum, but functional. I managed to get a bit of press in some cycling industry news sources, and even went out to Sea Otter to talk to some potential partners in the industry.

In the end, it just wasn't a clear enough business case to monetize it, but it's nearly free to keep running, so it's a nice thing to keep working on here and there. It just passed the 1000th SMS sent out to a user, so in honor of that milestone, I thought I would do a bit of a retrospective here on what I learned in terms of the technology and the business. First the technology:

Technology

Using git-pandas, I did a quick analysis of the history of the pedal wrencher repository:

~10,000 lines of javascript, python, css, and html, but that includes a large chunk of external libraries (bootstrap, jquery, etc).

~3,500 lines of python that is all custom for pedal wrencher

226 commits over ~8 months

Runs on heroku/heroku postgresql with a single EC2 micro instance for cron triggered processing tasks

Almost entirely developed on Sunday mornings

2 major refactors

The lesson learned would be: even if you think you can do the app in one python file in flask, take the time and organize as if it were a larger project. Things like cookiecutter-flask make this pretty easy, and it will save an enormous amount of headache when you do eventually outgrow that one file.

Business

This was always a side project for learning, but at times it did seem like there may be a business here. The thinking was that pedal wrencher has a pipe to customers of bike part companies at the exact moment the enter the market, so it should be an perfect channel for them. One idea was a concierge style text interface where pedal wrencher would text you that you needed to replace your chain, and by texting back, you could arrange for one to be sent to you via amazon. That fell on it's face a bit when talking to users and realizing that most of the users that like the idea of a maintenance notification aren't doing the maintenance themselves, so shipping them a part doesn't help.

The big OEMs also had some passing interest in the marketing opportunity presented, but at the end of the day, there just aren't enough eyeballs on pedal wrencher for the economics to work out, regardless of how targeted it is. Local bike shops are an interesting opportunity, but without a low-touch way to onboard them as advertisers, the cost of customer acquisition would drown the little app.

So as it stands, it's a neat little app, that hundreds of people use and love, and it will continue to run and be free for those users as long as I can manage it (which should be for the foreseeable future). I'll continue to work on it and improve it when I get the chance, because it is still a project I care about, but I have no illusions of monetization at this stage.

All that said: check it out! It's a neat app.