Nikos is the CEO and founder of SocialCaddy, the first CRM for friends. A truly magical application, SocialCaddy changes the way we manage the people in our life and, ultimately, makes us a better friend. It was only when he realized that SocialCaddy's needed a Hummer-sized data processor that Nikos, desperate for a solution, discovered Erlang. It was love at first sight. Now he spends most of his time figuring out the amazing business implications of the high concurrency prowess of Erlang and evangelizing it's merits to other start-ups in New York and Athens, Greece.

In his life before SocialCaddy, Nikos worked for non-geeky brands like VOGUE and The Wall Street Journal. He is a total sucker for anything made by Apple and, when not playing squash, he is in front of his computer going through thousands of feeds on Google Reader.

We are going to talk about how SocialCaddy, the first CRM for friends, uses the best of two worlds: Google AppEngine as a front-end system, ready to handle a lot of traffic without needing any administration from your part (set and forget); and an Erlang cluster, running on dedicated servers doing background tasks and sending data with lightning speed to AppEngine.

AppEngine is the best thing since sliced bread. But it's not particularly good for crunching data. Meet Erlust. Erlust (the cluster behind www.SocialCaddy.com) communicates with AppEngine via JSON requests. AppEngine sends Erlust the source code to be executed and the number of nodes to be used, and Erlust is responsible to "map and reduce" the data across nodes.

Due to the fact that many libraries (especially for social networks) have better support for a specific language, Erlust is language agnostic, meaning that it can run in parallel source code from many languages. Finally, Erlust exposes the data back to AppEngine by opening many concurrent connections.