Dating DNA is a popular free dating website and iPhone app. We currently have several hundred thousand members, and hundreds joining every day. I’ve been working with Dating DNA since March 2008, and have been working with them ever since.
Website
Dating DNA first started off with just the website. For the first half of 2008 I focused on fixing a long list of bugs, making changes to make it more user friendly, and many enhancements. There was a semi-steep learning curve as the framework that was being used had zero documentation, and some odd quirks to it.
I have two personal favorite projects that I built when dealing with the Dating DNA website. The first were the “chatwalls.” They were these chatroom, wall, forums kinda system. I’ve written about the technology behind them before. But basically, they are a realtime chat-rooms that display context relavent information about the other people chatting, like their profile pictures, names, and your Score with them. Originally they were built using PHP, JavaScript, jQuery, AJAX, and MySQL. Since then, we’ve swapped out MySQL for Redis so we could scale them easier. At any given time we have dozens of people using to chat with each other, and growing quickly.
The second feature I really enjoyed building was the new score generation system. The old system had a scheduled “cron job” that would update new users every few hours. It was a system that could barely support several hundred users, let alone hundreds of thousands of them.
So I engineered and built a system that would asynchronously start a job to batch process a new user’s compatibility scores. We need this so we can display their possible matches and sort them by score. Over the years we’ve tweaked the process and optimized it. But in a matter of seconds, when a new user finishes their survey, or updates it if they are an existing user, we can process and get them about 5000 possible matches with their score. If the score system is being overloaded with a rush of new users, it can generate a sample set, and then queue the user for their full score processing build. So in short, on a given busy day we process millions of scores for hundreds of users, and most of the time the process is done before they even have a chance to hit “next.”
iPhone & Web Services
When the iPhone came out, both the owner and I had bought the original iPhone for $600 and loved it. We’ve both owned each iPhone since. We created a web-based version of our website for iPhone users, which was okay, but didn’t deliver the experience we were looking for. So when Apple announced it’s iPhone SDK, we were thrilled. When it was released, I quickly started to work on an iPhone App to complement our website. However, because of the NDA’s placed on iPhone Developers, and the complete lack of resources out of Apple’s initial documentation, it was an extremely daunting task. I found it difficult to learn quick enough to produce the quality app we wanted on such a short time frame.
Dating DNA was extreme fortunate to find the Mac developer Alan Bird, who had many years experience developing for Cocoa on Mac, and was quickly able to get up to speed on the iPhone, and later iOS, SDK. He is a master at programming for the iPhone, and we are really lucky to have him. We were able to launch and be the first iPhone Dating App, and still are one of the top dating apps on the iPhone, out ranking other apps like Match.com’s app.
To supply the iPhone App with the data it needed, we built a new and secure API for the iPhone App to communicate with. To this date, we have 74 different web service APIs that serve the App the information it needs. You can literally do everything on the iPhone that you can do on the website, including chatting and messaging friends, finding people who are close to you, and changing and updating every possible setting. We are currently on version 6.9 of the Dating DNA App, have released 29 versions, and are currently working on the 30th version which will be 7.0
Growth
When I first joined, on a good day we had 20 new users sign up. However, after the release of the iPhone App, that number skyrocketed quickly to 200 users a day, and then to 2,000 users on a good day. Having 10 and then 100 times of a growth rate in a matter of months with a small development team of 3 people can be extremely tolling. We’ve had to rewrite large portions of about every major aspect of the system, and are continuing to do so.
We are on the cusp of another jump in our growth rate, and we are making many changes now to accommodate it now. We’re moving to a cloud based infrastructure that will allow us to scale up and down as needed, with fault tolerant systems that can graceful fail over to others.
Though we are a small company today, we are looking to the future, and if you have an interest in being a part of that future, feel free to drop me a line and let me know.
Related Posts
- New Dating DNA Front Page Since we’re still pending in the Apple iPhone App Store for review, we wanted a new fresh image for the Dating DNA website front page. Kevin, the CEO, threw together a simplified new front page. He is pretty good with Photoshop, and knows how to slice up a layout for...
- New Job: CTO of Dating DNA I’ve had a few friends ask me about my current employment, and if I ended up switching jobs. So I thought I would answer them here, or at least have somewhere to point them to. The answer is: yes and no. A quick recap: a few months ago I was...



