Project Name: CodeFumes

Just the code, please...

Website codebase

Project Site:
https://github.com/tomkersten/codefumes-site
Repository:
git://github.com/tomkersten/codefumes-site.git

Gem codebase

Project Site:
https://github.com/tomkersten/codefumes
Repository:
git://github.com/tomkersten/codefumes.git

Overview

CodeFumes was an attempt at creating a SAAS product intended to help people who were interested in tracking, sharing, and reviewing metrics associated with a repository of code.

The site supported a small set of 'standard' metrics (# lines changed/committed, build status, build duration, etc). Additionally, the service provided a simple method of supplying and retrieving custom metrics, allowing users to gather any metric you were interested in tracking.

There have been (and still) are several services along these lines (CodeClimate.com being a well-known one in the Ruby community), though none that I know of have taken quite the same approach to the problem.

The basic idea was this: Some people say tracking code coverage is important. Some say tracking build time is important. Others say that the hours of sleep the night before is critical. Still others say that committing code at the end of the day and leaving with a broken build erodes morale/productivity.

Who's right? All of them. Probably. Who knows? Nobody. I suspect it depends on the team. In my "perfect vision" of the project at the time, I thought maybe CodeFumes could help identify the things that really did help and have evidence to back them up.

If you thought tracking things and relating them to your code commits mattered, I wanted CodeFumes to be what you used to do it.

Learnings

  1. Ship earlier (at least to friends)
    • I wish I had pushed it into a few more projects both I and my friends were working on, if nothing else to help with motivation & ideas. It also would have helped flush out more realistic needs from people.
  2. "Bootstrapping" a side project is hard.
    • There are never enough hours in the day...and over time...it's very hard to stay motivated.Try to find at least one other person to work with.
  3. Stick with it if you believe in it. Stop if you don't.
    • Some of the reason I lost interest was because I got to this point where I felt there were too few devs (and businesses/clients, I guess) who really cared about this type of thing. The lack of faith in the idea made it harder for me to focus on it when I got wore down. My wife & and I also gave birth to our second child and I switched jobs around the same time...both of which contributed to it.
  4. "Business Failures" aren't all bad.
    • Quitting this project was a tough pill to swallow at one point. However, all was not lost. CodeFumes gave me a very concrete thing to work on and test a lot of ideas out which I never had the opportunity to during "work hours." The fact that I was making something I planned to sell to people, I forced myself to make some real decisions on approaches and technology within that frame of mind. This "practice" has come back to help me on other projets several times since.