Mingle2 Blog

A blog about dating, meeting people, being social and everything in between.
(and occasionally some geek stuff)

How I Built a Web 2.0 Dating Site in 66.5 Hours

Posted on 03/28/07 in Mingle2 News by Matt

16 Tips for Rapid Development

Let this be a testament to Web 2.0 and the effectiveness of rapid development frameworks: I built a full-featured dating website, from concept to launch, in 66.5 hours.  In a typical 9-5 job this would amount to about a week and a half.   Deliverables included:

The Idea - Cooking up a brand with a name, identity, and purpose
Planning - Creating functional specifications, visual wireframes, and information architecture
Design  - Creating mock-ups and defining aesthetics, typography, positioning, and color
Development  -  Writing the actual code
Testing  - Ironing out the kinks
Launch - Going live

I didn't do this in 66.5 consecutive hours, mind you, these are actual hours I spent working on the website.  I have a day job that keeps me pretty busy so I could only work on this during my evenings and weekends.  I started keeping a log after the first couple of days because I realized how quickly everything was coming along and I was curious how much time it would take me to finish.  This is a guide providing tips and tactics I employed to develop this website in such a short amount of time.


Identify an Opportunity
I'm single and after trying the online dating thing I quickly ascertained two things:
- The paid online dating market is very saturated
- The free online dating market is also saturated but with sites that are clunky, difficult to use, so littered with ads they're nearly unusable, and bombarded with useless features
I saw an opening and I took it: I knew I could build something better in a very short period of time with almost no overhead.  The beauty of this iss that if this site isn't successful there's no layoffs, burned VC funding, and I'm ultimately not contributing to another dot-com crash.  All I've lost is 66.5 hours and a couple bags of coffee beans, I'll just go back to my day job. 

Brain-dump
First I did a brain-dump of all the features I'd like to have on a dating website.  I didn't put them in any particular order or attempt to categorize things, I just wrote them down as they came to me.   This is a great tactic for just getting it all out there, save making sense of it for later.

Generate ideas from your competition
I didn't want to lock the feature list into only my ideas, so I went and signed up for nearly a dozen online dating websites and got a feel for how most of them work.   

Brain-dump some more
After a couple of hours of surfing competitor's websites I did another brain-dump of features.   I combined the list of their features with my own.

whiteboard funHave a specific goal, don't try to make the website do everything
I took the feature list and narrowed them down to only those that served a single purpose: providing a means for singles to find and communicate with one another.  I ditched all the popularity contests, “rate my photo” clones, and other features that didn't directly contribute to this goal.  

Keep. It. Simple. Stupid
You know those collars for dogs that issue an electrical shock every time they start barking? I wish every CEO and marketing professional in the tech industry could was equipped with a similar device that would shriek “KISS” into their ears every time they began making things unnecessarily complex.  Throughout development I would remind myself of the KISS principle.

Minimize interference
Only utilize other people when you absolutely have to, especially if you plan on keeping overhead low.  I saw the project from start to finish before I wrote a single line of code  and knew that I could do everything on my own.   There were no design meetings, Gantt charts, or conference calls – just myself, my computer, and my ability.

Avoid “feature creep”
Although this problem is usually more prevalent when working with a client, it can happen while going solo as well.  Learn to avoid letting an idea grow and distort to the point where you're 6 months into a project and all you have to show for it is one of the most massively complex nav bars in the history of the internet.  Learn to turn the idea knob down, but not completely off.

Web 2.0 names are going to be very tacky in a few years
Prefacing your domain name with “cyber” was very popular in the mid-nineties, but would you do it now?  I think Web 2.0 names like “SquaBlar”, “Fastr”, or “thisdomain.is.friggin.ridiculo.us” are going to quickly become passe.  I wanted a name that was clever, indicative of the site's purpose, and was easy to say and type.  Plus I get to use the superscript tag :)

If you get stuck on something, put it on the backburner
I actually had a pretty hard time coming up with a name. I knew that naming the site was not crucial to completion, so I put it off and worked on other things. I actually referred to the site as “barnacle” for the majority of development because I needed a temporary name and it was the first thing that came to  mind.

A failed header idea

A failed header idea

Prioritize features so you can give prominent real estate to those that need it
I took the list of features I'd made from my brain-dump earlier and ranked them according to priority.  I made it so the primary features would be accessible in the most visible sections of the website, in Mingle2's case this would be promoting that the site was free, the login/signup, and the “search singles feature.” It's absolutely critical that you have a sense of priority before you begin designing a website.

there was a lot of this.Put a lot of work into the functional mockups
A functional mockup is basically a design with no pretty stuff. There are several tools and methods for creating a functional mockup: prototyping software, scribbling on a whiteboard, drawing it in photoshop.  Some people prefer starting out with a taxonomy, others like to draw the pages. I prefer pen and paper with the occasional whiteboard.  I usually start out by drawing how all the pages relate to one another, like a road-map.  From there I draw what's actually inside those pages and try to get an idea of how it all relates.  This usually involves a lot of writing, crumpling of paper, and writing again.  Don't expect to get it right the first time, I've had pages where I'll lay it out dozens of different ways before I'm happy.

Mix it up, keep things interesting
I didn't outline every single page on Mingle2 in one go, I stopped and switched to working on the visual parts of the site often throughout the planning phase.  I interspersed designing the logo and visuals in between to keep me motivated.  It's important not to dive head first into writing code or playing around in photoshop, but don't feel obligated to map out every piece of your site before you start playing around.   Switch up tasks frequently, it'll make you enjoy it more.

The Design
Next came the fun part: creating the design that I intended to eventually turn into HTML.  There's an endless amount of knowledge one could give another about creating a great design, but instead I'm just going to focus on what I wanted to achieve visually with Mingle2:
1. Balance – I placed special emphasis on this on the home page, I wanted the elements to be in a state of equilibrium.  One of the most balanced sites I've ever seen is Gr0w.com, I wanted to achieve something similar.
2. Holy crap– I wanted to create something that would incite a “holy crap that's pretty” reaction from a newcomer to the website.  I don't know how close I came to achieving this goal, but I'm happy with how it turned out.
3. The Year is 2007 – The majority of competing websites look like they were designed by dinosaurs, I wanted to outshine them in this regard.

Set little itty bitty goals and watch how much you'll get done
I work a 9-5 job and I normally spend over an hour exercising every night, so when I arrived home around 7pm my work ethic was usually in the gutter.  The best tactic I found for motivating myself was to set a very small goal, such as changing some columns in the database or adjusting margins on a certain page. Typically, once this small goal was achieved it would lead into other things and pretty soon I'd gotten three hours worth of solid work done. 

Utilize rapid-development frameworks
I built this site using CakePHP, a rapid-development framework that is best described as rails for PHP, using design patterns such as MVC and ActiveRecord.  Frameworks typically take all the repetitive tasks out of web development such as CRUD (create/read/update/delete), forms validation, and data sanitization and instead let you focus on making a killer website.   Other popular frameworks include Django and Ruby on Rails

Expect a learning curve from whatever framework you choose
This is the fifth site I've built using CakePHP so I know my way around.  Don't expect that by switching to a rapid-development framework you'll instantly save a bunch of time, there's a bit of a learning curve.

It's out of the oven
I'm very happy with how Mingle2 has turned out.  The design looks good, the code is clean, and it just plain works well.  The best part is: If Mingle2 fails and goes quietly into the night, it was only 66.5 hours out of my life.

Meet Singles Near You!

Sign Up for Mingle2 (It's free) and meet someone into the same awesome stuff as you.

22 Comments

Add Comment
  • polterguy wrote on 29/3/07:
    Interesting! :)
    We built this site:
    http://ajaxwidgets.com
    Complete with the blogs, forums and everything (apart from the samples) in less than 3 weeks of active development time...

    .t
  • speedyop wrote on 29/3/07:
    u should copy this interesting article in the bakery (case studies), cakephp community need real exemples of baked site
    http://bakery.cakephp.org/categories/view/4

  • Abhishek wrote on 29/3/07:
    its brilliant work! 66.5 hrs for such a beautiful site is awesome. Inspires me!
  • Walrus wrote on 29/3/07:
    I'm impressed by the design in such a short time.

    I'm using a different combination for my work (.NET 2.0 + AJAX .NET + LLBLGenPro), this in effect is like CakePHP or RubyOnRails with some differences, and I agree with development time being reduced to insignificant amounts.

    Still... the UI and user experience takes a long time and that's what I'm pressed with on this site... nice work.
  • Matt wrote on 29/3/07:
    @speedyop: Thanks for the tip, the article has been submitted to the bakery
  • WackyLabs wrote on 29/3/07:
    Very nice! I hate to say another "me too!" post, but what you're doing is exactly what I'm doing with my latest site. I wont bother linking you but yeah... props on the cool site.
  • Elvendil wrote on 30/3/07:
    One of the guys at work showed me this today as he thought I'd like the design (I'm the resident designer, so the guys drop me links to 'pretty' stuff). What can I say, it's a beautiful site, and the design from a function and UI perspective is spot on. No clutter, no mess, intuative, pretty. Then I read that you'd done it in 66 hours and that's just blown me away. Congratulations! I'd shake your hand if I met you.
  • Michael wrote on 30/3/07:
    I ran across the Bakery article, started looking around the site and created an account just so I can say this is damned impressive. :)

    Michael, drowning in web development feature creep at the moment.
  • Nate wrote on 30/3/07:
    I expect a follow-up post on how many dates you've scored by being the creator of this site. :-)
  • CandyBar wrote on 31/3/07:
    This needs to get dug xD
  • JustinM01 wrote on 2/4/07:
    Maybe it is just me, but when you go to browse for people in IE7, the profiles list gets pretty screwy. Other than that, nice site, found it off phpfreaks.com.
  • GeekGrrrl68 wrote on 4/4/07:
    That's just amazing. I really like how neat and clean-looking this site was designed. Simple. Uncomplicated. :-)
  • Spyder Z wrote on 5/4/07:
    Beautiful Site. Sweet Simple and to the Point, that's the way it should be. I wish you nothing but luck, and one could hope that a site like this will take off, and suck the life from those joke Ad Clogged, Feature Bloated, Subscription Sites. Though of course if you do take off, you'll need some form of revenue to keep the site sailing, and I only pray that you're able to get what you need without having to stoop too low... You know what I mean. ;P
  • souldancer wrote on 5/6/07:
    Simply inspiring! As a teacher of the Zen path, simplicity rocks! As a former site developer - I bow to your kindness, inspiration and hootspa! May you savor the notion you've opened another door for love to flourish! Thanks again for sharing your time, talents and humor! Namaste ~ Souldancer
  • Steve-O wrote on 14/6/07:
    sick job man. i too am a web designer and i love the cleanliness and simplicity of this site. it's easy to navigate and there's no clutter, much like my own style. i am just getting used to designing all in CSS and ditching tables. it's a new world, this web 2.0. lemme know if u ever need any help with this site. i'd love to help out. i hope it explodes into popularity for you. about time there's a decent free dating site out there.

    god bless,
    steve
    www.craniumdesigns.com
  • PETER PANTSLESS wrote on 27/6/07:
    Great work, but as I realized when contemplating building a dating site the biggest hurdle is gaining a user base.

    Fortunately now with the Facebook Platform http://developers.facebook.com/, you could grab some market share if you act quickly and develop a good Facebook dating application that ties into Mingle2.

    I'm willing to help if you're interested.
  • TiReign wrote on 23/7/07:
    Congrats!!!
    As a subscriber to several online dating sites, this is one of the easiest to navigate and is visually appealing now - I think for some time to come.
    And best of all....No Crap!! :)
  • Debraa -Deb Ray- wrote on 21/8/07:
    Yes, I just wanted to say I love you KISS principle. I think it is a wonderfull idea.
  • Kris10 wrote on 26/8/07:
    If you ever come up with that CEO collar, let me know. I have some co-workers I'd like to test it out on, lol.
  • Zermatt wrote on 16/9/07:
    I'm a web designer myself--I love your simple design. It is great. Just want to clue you in though--and you probably already know it--you've been discovered by the Nigerian scammers--because you are free no doubt, although even on pay sites they exist--I know this because at least 5 people who have contacted me off your site...I have seen pix of elsewhere under different names but with identical messages...eventually they ask you for money...want you to contact them on yahoo...I can tell you who they are on your site if you want...youneed to add a feature to report suspect profiles.

    Thanks, Yvonne
  • Carolar wrote on 21/9/07:
    Great job done. Congraculations!! ur such a talented person, the website is great!!
  • Crinnacht wrote on 27/9/07:
    ok cool interesting how in the hell do you delete profiles?