Tools of the Trade


If you’re bootstrapping on a budget (aren’t we all?) you’re probably using a boat load of open source software to reduce costs. Along with the obvious stuff like Apache, PHP, Ruby, Python or Perl (insert your favorite language/stack here) you should look at other OSS projects for ways to provision your startup. There are also many other “free” services and tools we’ve found that have helped us get our startup off the ground.


One of the first things we needed was a way to organize and track our development efforts. Features we planned to add, enhancements we needed to make and bugs quickly became difficult to manage via e-mail alone. Almost immediately we installed Bugzilla to provide a quite robust issue tracking tool. Like most tools of this nature, it includes reporting, prioritization, notifications and searching. You can download Bugzilla here.

We use Bugzilla for three functions; bug tracking, creating our product road map and customer issue/question resolution. Bug tracking is the obvious thing that Bugzilla is traditionally used for and entering and assigning bugs is extremely easy. After we installed Bugzilla we added general product categories and assigned either me or my partner as the maintainer (he’s the frontend guy, I’m the backend guy) with the other as a CC. Either one of us can add bugs and an email is sent with the description. All of the features you would expect in an issue tracking package are available in Bugzilla – all free of charge.

After our first release the roadmap for the product started to take shape. Bugzilla allows you to create “milestones” that essentially partition your feature or enhancement requests by release. We created 5 buckets for releases we called Shamrock (March), Blue Ocean (April), Tangerine Trees (May) and Mist (Who knows?). We can move items from release to release and create reports specific to each. When it’s time to do a release we can run a report of what we’ve fixed and added for this release and put this in a “What’s New” section of our web site (scheduled for Blue Ocean).

One of the more interesting things we’ve done is use the APIs of Bugzilla to send information requests and customer inquiries from our Contact Us page to Bugzilla. We didn’t want to write yet another customer inquiry tracking system (hardly core to our product) or just have our web application send an email that would end up in the black hole of one of our inboxes, so we cooked up a way to use Bugzilla for this purpose.

Our web application collects the user information, their browser specs, their question, issue or comment and puts a message on Amazon’s messaging system queue. A daemon on our backend server is listening for messages on the queue and when it sees a “Bugzilla” message we unload the message contents and call one of Bugzilla’s methods they expose in their remote API to insert the issue into the tracking system. Based on the the user’s selection of the issue type, the bug is routed to either our CPAs, or the technical group (that’s me and my partner). This allows us to make sure that all customer inquiries are followed up on and we have a record of their resolutions. Voila! Issue tracking – free of charge.


As you might expect from an accounting system, our product produces a lot of reports. Our report generation methodology is to create an Excel spreadsheet using some Perl scripts and the Perl Spreadsheet::WriteExcel class. We then (optionally) convert the spreadsheet to a PDF and deliver that to the user’s browser, their briefcase (Amazon S3 storage) or send it as an email attachment.

We run LibreOffice in “headless” mode as a daemon and use its ability to convert an Excel file to PDF. A PDF converter – yep, free of charge.

Other Freebies

jQuery – Like a lot of web applications, we leverage jQuery. The javascript library allows us to create our UI for all browsers and provide features it would have taken months and months to create in a fraction of the time.

Google Voice – Give us a call! (315) 313-4TBC. Until we’re more established and have a staff of more than bootstrappers, our telephone presence is just an answering service. Using Google Voice I setup a free telephone number, created a friendly message and encouraged folks to “leave a message and we’ll get back to you right away”. Google Voice converts the messages to text, and sends me an email, seconds after they hang up. The transcriptions are surprisingly good and the email with the message text also includes their telephone number. You can also have your calls forwarded to another number or text you when you receive a call. Google has stated that Google Voice will remain free for 2013. It may opt to charge for this in the future, but it is a fantastic service, especially for startups.

Finally, we’ve used Doodle to schedule team meetings, Survey Monkey to survey our beta users and AnyMeeting to hold webinars. All free.

I was raised by parents with a strong work ethic and taught there is no free lunch in life. Apparently though there are free services and free software! Enjoy!

This post is Part IV of the series: 5 Ways to Jump Start your Startup by Rob Lauer. Read Part III of this series here.

About Rob Lauer

Rob Lauer is a partner in TBC Development Group, LLC who, along with Lauer-Millen CPAs has developed Treasurer’s Briefcase (, a cloud based accounting solution for small non-profits. When he’s not bootstrapping TBC at night, he’s the VP of Technology for an information technology company in New Jersey. Rob welcomes feedback or questions -