What is Cashboard?
Cashboard is invoicing software that also handles employee timesheets, estimates, and online payments. It's geared towards freelancers and small businesses.
Who are you, what is your role at Cashboard?
I'm the founder, main designer, and engineer of Cashboard. Sometimes I play server admin too, but usually I have to email you guys to bail me out when things get wild.
What did you do before Cashboard?
I started my tech career in 1996 at a small web hosting firm, then worked for Hewlett Packard, and a variety of "dot com" startups in and around San Francisco.
Around 2003 I started freelancing - providing user interface design, usability testing, and front-end engineering to startups around the Bay Area.
In 2004 I created a fairly popular Ruby on Rails shopping cart package called Substruct. Substruct allowed me to stop working on-site at other companies, and assisted the transition into developing products instead of one-off websites for other people.
Who are the other key people involved during the startup phase?
What was the thing that made you decide to 'do' cashboard?
[I'll combine the answers here because they're closely related...]
As a UI specialist, I had the opportunity to work with a variety of startups - mostly funded "dot coms" from right before (and during) the big crash. Being a hired gun, I was usually brought in to rethink poorly designed software systems.
Of all those experiences, I can't recall a single instance where a solution I designed was properly implemented. Disagreements mostly occurred due to engineering pushback or lack of stakeholder buy-in. The idea to build products of my own that could generate recurring, passive income was born from that dysfunctional process.
Working as a freelancer and then as a project manager, I was constantly sending proposals and billing clients with templates I created in Adobe InDesign. I didn't have a really good system to organize all of it, and I couldn't find an existing solution that I liked.
There were perhaps 2-3 other products in the space at that time, but none of them handled the entire workflow of sending a project estimate, tracking time, and invoicing for it.
I built Cashboard to solve my business needs, and other people seemed to enjoy the way it was designed. We launched in 2007 and the rest is history.
What were some of the key milestones/challenges getting started?
How did you overcome them?
My main challenge getting started was finding the time to work on Cashboard. Looking back, I did it probably the most irresponsible way possible. I'd saved up a few thousand dollars from freelancing, stopped taking jobs all together and decided I'd do nothing else until I could launch.
I started in November, 2006 and figured I'd have a working solution done in 2-3 months. Of course, as everyone in software knows projects routinely go over budget, and this this was no exception. It took until April 2007 before I launched and accepted my first income.
During that 6 month process I had to move out of my apartment, take out a couple credit cards, and finally apply for a $15,000 line of credit. That money went to fund my rent/office (a studio apartment), food, contractor help, business startup fees, and hardware / software purchases.
I was fortunate to be semi-well known in the Ruby community at that time, so blogging about the process and speaking at meetups really helped build anticipation for the app. Another good move was integrating with Basecamp and developing a Desktop Timer Widget for Mac OS X, which drove a ton of traffic to Cashboard during the early days.
As your service matured, what have you found is different?
Are things easier? Are you finding new challenges?
One huge misconception about running your own business (especially software) is that at some point things get "easier". There's always new challenges to be tackled.
I'm constantly working to set Cashboard apart from the rest of the pack in the invoicing space and building awareness for what we do. Once you get to a certain point you have to start worrying about scale and performance tuning, growing your organization, and bringing on quality people to help with the project. That's the place I'm at currently.
Describe your server setup.
Right now Cashboard runs on 3 servers: one for MySQL and two app servers. All three are privately networked at the Dallas colo facility. We run background jobs for sending email, data imports, and email processing on one of the app servers. The other handles all of the web requests.
Our app servers were originally running fastcgi/ruby, then mongrel, and finally we've settled on an Apache + Phusion Passenger + Ruby Enterprise Edition stack. Sometime in the near future we'll probably move onto Nginx, as I've used it on a couple of other projects and the memory overhead + response times are more favorable for our needs.
Every machine we host at Rimu runs Linux in dedicated machines on VMs, for easy backup and replication. I love the ability to move virtual machines, tweak memory and disk size through your control panel.
Describe ways RimuHosting contributes to your setup
What haven't you guys helped with? I started out managing most of the servers myself, but I'm definitely not a Linux expert by any means.
You've assisted in the past with tuning my hardware setup, SSL certificates, finding bottlenecks, and just general troubleshooting that I'd never be able to figure out on my own.
It's great to have the luxury of emailing the Rimu support staff at any hour and get a speedy response to any crazy question I have. There have been multiple instances of me hysterically contacting support with an "URGENT" problem, and everyone is always very responsive and calm.
I can't thank Liz, Paul, Andrew, and the rest of you gurus enough!
If you want your startup story posted on our blog, check out this post here http://blog.rimuhosting.com/2012/05/18/call-for-startup-stories/