Skip navigation

Paradigm PoP

Friendly software tools for small and medium sized companies

How to Set Up a Web Tool Company For Under $100 a Month

When I started out people were certain that the cost for starting a business was going to lower. The fear for many was that there would be increased competition and hair thin margins on prices. I strongly believe that running a business is more than setting up shop and so here is how to set up your company on solid infrastructure for less than $100 a month.

Step 1: Use PHP

You have many choices for making a web tool and it is overwhelming if you open your mind to them all.  You have PHP, Ruby, Ruby on Rails, Java (a myriad of 'frameworks' in Java that each have their own philosophy and following), python, python with Django, etc. etc.  You could spend a month reviewing these to see which one will work best, or you could spend that month getting something ready enough for someone to use.

Use PHP.  We started with Java, our story is below.  We ended up using PHP and now things are much better for us.

Java is Good For Making 1000s of Cups of Coffee, I only drink 3

My uncle has a Bugati coffee maker.  I am sure that Starbucks has an even better coffee maker.  Yet the fact is that I only ever drink up to three cups of coffee a day, and instant mix coffee works fine for that.  Similarily Java gave us so much more than we needed.

See, we first developed PoP Project with Java (Struts 2 and EJB 3).  The code was reliable, it would support 1000 concurrent users, and our JBoss application server was ready for distributed load balanced servers when we got to that point.  Well these were the limits, anyway.  We never got to really reach those limits and development on Java was complicated and expensive (if you disagree, please let me know what I did wrong). For a year and a half we continued adding features and fixing issues by wrangling with Java framework hell.

Then, about two months ago we needed to get our publish and subscribe system working.  For a month I tussled with EJB transaction persistification and fussy classloading-ization, filing through results on Google, many of which did not apply simply because I was using a different build system!  Take a moment to think about what that means for the head of a startup.  It means one month of essentially being unproductive when I could have been building relationships and generating revenue!  Frustrated, I checked in all of our Java code, bid goodbye to a week of my life, and shut myself in with my laptop, a fresh start, and the strong feeling that everything should be much easier than it was.

The PHP Rewrite

Within two weeks I had a matching system built entirely in PHP.  I had written the new system from scratch (I purposely avoided using frameworks like Cake PHP because I had a bad taste in my mouth from my experience with Java frameworks).  A week after that I had publish and subscribe working with branding, which I used to win another pilot on PoP Project.  During my first meeting with that client, the client suggested that allowing threaded conversations would be very helpful to their teams.  One week later, I had threaded conversations working perfectly.  (You can track my pace with features on our Customer Feedback and Ideas Forum)  I am much happier now, and I attribute that to my switch to a simpler development situation.

(By the way, I am not the first to do this.  My inspiration was Derek Sivers of CD Baby fame, who switched to PHP from Ruby.  Here is his story)

Cheaper, Better, Faster

A good businessman always comes back to the money, and even here our move to PHP made more sense.  We no longer need a team to maintain our code, just one good person is enough.  Our savings here were tremendous.  Our server can be a simple LAMP setup instead of requiring a box that can support JBoss for production (we had to contract a $40/month Linode machine since JBoss needs tons of RAM.  Here we went from a $40/month Linode box to a $20/month Linode box.  I'll talk more about Linode in the hosting section below).

Evidently, we have saved a lot monthly by using PHP.  Our turnaround on feature requests and bug fixes is MUCH faster, and the quality of the system is much better since we can add tremendous value for the same cost as before.

Finally I address performance issues as these concerns were what made me choose Java in the first place.  A startup does not face 1000 concurrent at the get go.  PHP does very well for our usage and our customers have actually commented that the system runs a little faster.

Step 2: Reliable Hosting For Cheap

In short, I am about to tell you to use BlueHost ($5/month) if you are all right with sharing a server, and Linode ($20/month) if you require your own box.

To begin with, I would like to put in a quick plug for Linode, which has amazing service and is very cheap if you are able to administer your own server.  With Ubuntu server becoming so popular, it is also very easy to find out everything you need to know via Google searches.  If I have convinced you about Linode, go via this link so I can get some referral points: http://www.linode.com/?r=b7193665cc54131dbabc5fa458e09c9f9e9e2b96.  Linode is great for us since clients get concerns about security and we can help their confidence by saying that we have our own server box all to ourselves.  This confidence runs us $20/month.  If you are ok to share a server with others, my brother uses BlueHost, which is cheaper (you can get a good setup for about $5/month). 

Backups

Being small does not excuse you from being stupid.  Your users trust you with their data.  As a direct result, you are completely responsible if your server was in California when it dropped into the ocean (to illustrate a situation which could kill your server and all data on it).  So you are going to have to backup and do it often.  We have set up a daily script that backs our entire server onto the cloud (Amazon S3) in little encrypted packets.  We ran through a recovery and found that we can have a completely junked system back up and running in the time it takes to watch an episode of Heroes.  The entire backup (transfer and storage) cost us a little less than $3 this past January.  There really is no good excuse for not backing up your customers' files and data.  Setting up the process was a little involved so if you falter here, get in touch with me since I have done it a few times already.

Step 3: Free Company Infrastructure

Issue Tracker, CRM, (Wiki)

Once you have your LAMP server setup, it will not take you too much effort to install Mantis BT, an open source issue tracker.  This issue tracker will serve as your internal infrastructure back bone.  Use it for internally tracking issues and feature requests.  Easy enough.  However, you can also use Mantis as an internal CRM which helps you keep track of your relationships with clients.  By setting up each client as an issue on this issue tracker, it will help you maintain a closer relationship with those who use what you offer.  (This system helps you keep a record of your interactions with customers but if you want something to help you remember to actually keep in touch, check out PoP Circle).  Mantis BT's newer versions also offer a wiki, although I have yet to find use for an internal wiki for a startup our size.

If you don't want to set up Mantis, we can put you on our setup for $4/month.  See PoP Tracker for more details.

CMS (Content Management System)

Use Drupal or Joomla, both of which are free and open source.  We use Drupal. It runs our company site and with the right Google queries, we have set up Drupal to make it easy to find us on Google and Bing.

Version Control

We use subversion for version control, it is free and very stable.  We keep our company files on here and our code files on here. The set up is a little more involved than for Mantis, though enough Googling should get you by.

Again, if you don't want to set up subversion, we can put you on our setup for $4/month.  See PoP Source for more details.

User Feedback / Help Desk

We are using UserVoice, which really became an obvious thing for us when they promised that smaller companies (those with less than 10 million pageviews a month) essentially get uncapped usage of their UserVoice forum.  We have ours set up at http://paradigmpop.uservoice.com, and we plan on using this as a help desk item as well (users report issues or problems and we can show everyone how quickly and completely we responded).

There You Have It!

Add $1/month for domain + an SSL certificate from GoDaddy, and that is how we are able to run for our company for under $100/month.  Our burn reaches $100 since we do end up travelling to meet clients, and we attend software conventions (if you see one of us at your next convention, say hi!).  What I haven't covered is the growing of the business itself.  How do you get your first user?  How do you grow that to 30 users?  How do you get them to pay money?  These are the questions you really should concern yourself with if you want your startup to compete.

I have done everything written about above, so if you need help with any part of it get in touch with me!  I am @diwant on Twitter, diwantvaidya@paradigmpop.com on email.

So now I am curious.  How much are you running your company on?

Post new comment
The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options