How I Built a Web 2.0 Dating Site in 66.5 Hours

Please note:
As many of you know Mingle2 was bought by JustSayHi (another dating site) in 2007. JustSayHi’s infrastructure runs on Ruby on Rails, and as such Mingle2 was eventually ported over to that framework as well. For those curious what the original Mingle2 was like, I’ve preserved the original CakePHP version of Mingle2 here:

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.

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 “” 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, 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.


  1. Pingback: fire & water restoration

  2. Pingback: hack clash royale easy

  3. Pingback: tractari auto bucuresti

  4. Pingback: it disposal

  5. Pingback: xbox live free

  6. Pingback: free tv series

  7. Pingback:

  8. Pingback: 21sextury porno

  9. Pingback:

  10. Pingback: Lancaster Christmas Party DJs

  11. Pingback: see this page

  12. Pingback: Intelligent Locker

  13. Pingback: PC Disposal

  14. Pingback: local seo package

  15. Pingback: seo quotation india

  16. Pingback: small business seo package

  17. Pingback: recycling computers

  18. Pingback: WEEE Recycling

  19. Pingback: WEEE Recycling

  20. Pingback:

  21. Pingback: cheap seo package

  22. Pingback: boost seo packages review

  23. Pingback: recycling computers

  24. Pingback: WEEE Recycling

  25. Pingback: Laptop recycling

  26. Pingback: recycling computers

  27. Pingback: IT Recycling

  28. Pingback: affordable seo package

  29. Pingback: herbal memory supplements

  30. Pingback: vitamins that help memory

  31. Pingback: advanced seo packages

  32. Pingback: make your own shopping bag online

  33. Pingback: best seo package

  34. Pingback: basketball shoes sydney

  35. Pingback: air conditioning maintenance

  36. Pingback: hormones and growth

  37. Pingback: seo packages for websites

  38. Pingback: more followers for free

  39. Pingback: affordable seo services in india

  40. Pingback: instagram free likes app

  41. we prefer to honor numerous other internet sites around the web, even if they arent linked to us, by linking to them. Under are some webpages really worth checking out

  42. Pingback:

  43. Pingback: SEO services West Vancouver BC

  44. Pingback: shoes australia

  45. Pingback: travel thermos

  46. Pingback: gildan crew neck sweatshirts

  47. Pingback: affordable moving companies vancouver island bc

  48. Pingback: safe pills for breast enlargement

  49. Pingback: testosterone best booster

  50. Pingback: read

  51. Pingback: because

  52. Pingback:

  53. Pingback: promo pens with stylus

  54. Pingback:

  55. Pingback:

  56. Pingback:

  57. Pingback: best deals

  58. Pingback:

  59. Pingback: fake law degree certificate

  60. Pingback: garcinia cambogia

  61. Pingback: garcinia cambogia free trial

  62. Pingback: affordable deals

  63. Pingback: dr oz garcinia cambogia

  64. Pingback: pure garcinia cambogia dr oz

  65. we prefer to honor several other online web sites on the internet, even though they arent linked to us, by linking to them. Under are some webpages really worth checking out

  66. Pingback: payday loans

  67. Pingback: fast loans

  68. Pingback: 1xbet официальный сайт

  69. Pingback: 1xbet зеркало

  70. Pingback: facebook

  71. Pingback:

  72. Pingback: 1хбет

  73. Pingback: where to buy a diploma

  74. Pingback: cure yeast infection

  75. Pingback: anything

  76. Pingback:

  77. Pingback: yeast infection treatment pills

  78. Pingback:

  79. Pingback: buy Canada fake degree

  80. Pingback: here

  81. Pingback: Susan Nipa

  82. Pingback: Adrian

  83. Pingback:

  84. Pingback: домоуправител софия

  85. Pingback: hormone injections

  86. Pingback: fresh flowers salem or

  87. Pingback: избор на професионален домоуправител

  88. Pingback: 1xbet зеркало

  89. Pingback: 1xbet официальный сайт

  90. Pingback: Build Your Email List System

  91. Pingback: hard to find power module

  92. Pingback: get

  93. we like to honor quite a few other net web pages on the net, even if they arent linked to us, by linking to them. Below are some webpages worth checking out

  94. Pingback: Staples Rewards Login

  95. Pingback: #1 Dental SEO guy

  96. Pingback: Capital One Credit Card Login

  97. Pingback: Garrett cassells reviews

  98. Pingback: Consumer Reports Login

  99. Pingback: Medical Equipment Training in South Carolina

  100. Pingback: Biomedical Equipment Service in New Hampshire

  101. Pingback: Hospital Equipment Maintenance in Fremont California

  102. Pingback: Biomedical Equipment Training in Brazil

  103. Pingback: Isolated Power System in Wisconsin

  104. Pingback: EyeMed Provider Login

  105. Pingback: take

  106. Pingback: try this site

  107. Pingback: why not try this out

  108. Pingback: WP Content Machine Review

  109. Pingback: binaryoptionsspot

  110. Pingback: PayPal Credit Login

  111. Pingback: high-yield investing program

  112. Pingback: Website

  113. Pingback: binary options reviews

  114. Pingback: Homepage

  115. Pingback: Poki games

  116. Pingback: VideoWave Review

  117. Pingback: Ninja Turtles Games

  118. Pingback: dr. eko agus subagio

  119. Pingback: transfers from paris beauvais to disneyland

  120. Pingback: Gildan Colors T-shirt

  121. Pingback: bulgarian detective

  122. Pingback: iluminat cu LED

  123. Pingback: Printed Laundry Bags

  124. Pingback: ancu dinca dispozitive pret

  125. Pingback: paris shuttle

  126. Pingback: beauvais shuttle bus disneyland

  127. Pingback: paris cdg airport to disneyland

  128. Pingback: cdg to disneyland

  129. Pingback: Dr. Eko Agus Subagio

  130. Pingback:

  131. Pingback: Google

  132. Pingback: this is it

  133. Pingback:

  134. Pingback: Dovner FL

  135. Pingback: MCHSI Email Login

  136. Pingback: Barclays Credit Card Login

  137. Pingback: US Airways Mastercard Login

  138. Pingback: survival knives that the army uses

  139. Pingback:

  140. Pingback: spartagen xt

  141. Pingback: Project Management

  142. Pingback: spartagen xt

  143. Pingback: happy new year images

  144. Pingback: it services omaha

  145. Pingback: vpn

  146. Pingback: Inno view 3

  147. Pingback: como fazer uma retrospectiva

  148. Pingback: fluke DTX-1800

  149. Pingback:

  150. Pingback: Babyzimmer Mexx in Weiss Hochglanz 11 tlg. mit 3 t�rigem Kl. + Textilset Eule in Blau g�nstig bestellen

  151. Pingback: Girls Winterjacke Jenna Padded kaufen

  152. Pingback:

  153. Pingback: buy private proxies

  154. Pingback: cheapest louis vuitton handbags

  155. Pingback:

  156. Pingback: Skimode guenstig kaufen

  157. Pingback:

  158. Pingback: NEBULUS JACKE TERRY, Damen, Winterjacke, daunenoptik, Daunenjacke, dunkel-kobalt, Gr��e XL/42 (Q1833) g�nstig kaufen

  159. Pingback:

  160. Pingback:

  161. Pingback: ARMEDANGELS Patty bestellen

  162. Pingback: Damenuhren guenstig kaufen

  163. Pingback: Google

  164. Pingback: SEO services in Lahore

  165. Pingback: skin tampa tampa fl

  166. Pingback: back facial

  167. Pingback: www skin care

  168. Pingback: Tassendruck in Dresden

  169. Pingback: best spa in tampa

  170. Pingback: Biomedical Equipment Service Contracts in Seattle

  171. Pingback: Scientific Laboratory Equipment Calibration in Hayward California

  172. Pingback: Hospital Equipment Repair in Indio California

  173. Pingback: mihran kalaydjian

  174. Pingback: mihran kalaydjian

  175. Pingback: personalised beer cooler

  176. Pingback: mihran kalaydjian

  177. Pingback: unlock her legs system

  178. Pingback: glass coasters

  179. Pingback: corkscrew

  180. Pingback: cantonfair2016

  181. Pingback: JUAL Pompa Air Tenaga Surya paket lengkap LORENTZ

  182. Pingback: Outdoor wood fired oven mobile Pizza Party

  183. Pingback: {halloween decor | Holiday Gifts | Funny Gnomes}

  184. Pingback: Blog

  185. Pingback:

  186. Pingback: Blog de despedidas

  187. Pingback: catering

  188. Pingback: indigo naturalis

  189. Pingback: replica sunglasses

  190. Pingback: Funny Gnomes

  191. Pingback: amazon deals

  192. Pingback: inositol price

  193. Pingback: vps hosting account

  194. Pingback: folic acid manufacturer

  195. Pingback: vps hosting ottawa

  196. Pingback: spartagen xt

  197. Pingback: GOOD FAKE ID

  198. Pingback: why not find out more

  199. Pingback: Donn Crew

  200. Pingback: article

  201. Pingback: Shirl Tickle

  202. Pingback: Joint Custody Child Support

  203. Pingback: Alfonso Gozalez

  204. Pingback: text scrools

  205. Pingback: creative suite

  206. Pingback: text tools blows

  207. Pingback: how to make money on the internet

  208. Pingback: chia seed

  209. Pingback: buy chia seed

  210. Pingback: Turen

  211. Pingback: Project Management Training

  212. Pingback: tax identification number

  213. Pingback: tax identification number

  214. Pingback: SATTA MATKA

You must have an account to comment. Please register or login here!