Building a Web Application: Intro

So you want to build a web application? Well, so do I. I've built them before and I'll build them again but I have a specific project in mind this time and I thought I'd share my experiences with you.

First, a little background...

I started learning the process of web application development when I got my first job at a web design agency. Mostly custom developed for whatever the client needed specifically. Updated news for the home page or maybe a newsletter section. Whatever it was, it worked well for that particular client as long as they never changed their format.

As you can probably already see, the leap from this to building a content management system (aka CMS) was a small one. The CEO and myself worked to map out a system with the functionality that we'd like to see in it then it went off to the developer who put it together. A decent application that we sold to a few of our clients.

It followed a familiar section/page concept. Which was great if you just needed a regular page. But as often happened, the client needed something more specific for a particular section and we found ourselves building a custom tool that the client could use from within the CMS.

When I left that company and started at H3Creative, a web and print agency, the idea again was to build a CMS. I used my experience to develop something that offered more scalability and flexibility. A more modular design that allowed a user to place a custom module anywhere in the site. Want a site map? Put it wherever you want. A photo gallery? Sure, drop it in! In the end, I created about 10 different modules. To say the least, I am quite proud of how it turned out.

Anyways, as fate would have it, I'm no longer there but I still believe in the concept! And after seeing elegant application such as Basecamp and Nathan's early beta of Jupiter, I've been inspired to move forward on my own project.

Start from the beginning

Throughout this project I'll try and explain some of the methodology and the reasoning for the decisions I make along the way.

In hopes of piqueing your interest, I shall leave you with this: sneakpeak

Read the next installment, The Idea.

Published September 29, 2004 · Updated September 17, 2005
Short URL:


6 Comments · RSS feed
Brent Wilcox said on September 29, 2004

Fantastic article.. I look forward to hearing the exploits of the developer in battle..

steve said on October 13, 2004

I just came a cross the process you are outlinining and your timing couldnt be better. I am embarking on a web project that will require a full CMS. I am hoping to be able to take some valuable info from your processs, and possibly use your product if it is offered in such a way.
I look forward to reading the rest.
Best Regards,

Gabriel Mihalache said on October 19, 2004

I don't know if it has been said before, but "Gain" sound and looks just lime "Gain", that spyware crap which comes bundled with Kazaa and other "free" software.

When I see "gain" I usually click uninstall :-)

Jonathan Snook said on October 19, 2004

I've also heard that the name Gain is very close to Gaim. I can only hope that GainCMS will create an identity unto its own and I won't have to do a whole rebranding down the road!

Gary said on December 06, 2004

Just a though... Why not think small. I think you would have an easier time getting 100.00 from a bunch of people then getting the whole amount from one. Dean Allen of started his hosting company, by getting 200 people to pay 200.00 dollars each. He gave these people a perk, free hosting for the life of the company.

Now all you need to do is:

1. Document the whole process. (for your future book deal)
2. Figure out how much money you need to live and work/divided by the number of people you think realistically might invest.
3. Tightly define GAINCMS and its place in the market.
4. Figure a way to offer something special to get people to invest in your project. (form a small company and offer non-voting stock to the "investors," everyone likes to get something, or receive something that makes them feel special or unique. How about their investment buys them a "franchise" for supporting GAINCMS or maybe have a special "investors" addition of your project)
5. Host your project at (they offer opensource developers a place to develope their projects and a way to make some money. The main Wordpress developer only recieved 600.00 dollars in support from the opensource community. ouch!)
6. Finally become a national recognized speaker helping millions of developers wishing they to could work all day long on the things they love and get paid. The program would be available on video cassette, cdrom, or dvd for 3 easy payments of 29.95.
7. Retire!

Good luck Jonathan,


Ps. Consider me your first investor (How much do I owe you).

lorenz said on January 03, 2006

i love this site

Sorry, comments are closed for this post. If you have any further questions or comments, feel free to send them to me directly.