Religious Conversion


If you followed my work last year, you’ll know I was able to launch a lot of evil concepts around Ghost’s Infestissumam release.

So I guess I shouldn’t have been been surprised when Fox approached me about building a campaign for their upcoming horror movie Devil’s Due, because they saw my work with Ghost. The initial conversation went something like this:

Me: Have you guys stereotyped me as the developer who works with Satan?

Fox: No… We just think you’re good with dark themes.

Haha, sure… well as it turned out, there was one idea that I proposed to Ghost which we didn’t have time to build and fit perfectly into Devil’s Due theme and short development timeframe: “Convert Your Religion to Unlock.”

Concept #

I’m a big fan of Burger King’s Whopper Sacrifice campaign which would give you a free cheeseburger if you deleted a few of your friends. This API breaking concept was quickly shut down by Facebook but left it’s mark as a concept which took Facebook’s understood social structure out of context.

Religion is one of those polarizing topics that is contained to a single text field on your Facebook profile, and converting from one view to another is as easy as submitting a form. It’s ridiculous to take it seriously. So why not try and get people to convert their religion in order to get a piece of context?

As it turns out, Facebook makes all changes to the “About Me” section difficult by requiring the user to manually adjust things on This extra step off-site would obviously affect conversion numbers, but I was confident that the story would outweigh the statistics.

Build #

Since this was my first project with Fox, I wasn’t sure what to expect from their technology stack. Those of you who know me know that my language of choice is Ruby and I host all of my apps on Heroku. Fox’s well-documented programming guidelines quickly crushed my dreams when I read the words: PHP, WebDav, and Mysql.

After getting over the initial shock of what I was getting myself into, I quickly found the PHP micro framework Slim which would serve as a nice alternative to my go-to framework: Sinatra. Slim is installed via Composer, a PHP dependency manager that works much like Bundler.

Setting up my routes on Slim and rendering templates was just as easy as Sinatra, albeit with more semi-colons…

$app = new \Slim\Slim();

$app->get('/', function () use ($app) {


On the client, users logged in via the Facebook JavaScript SDK, allowing the application access to their religious views. I then created a new user in our MySql database which contained the user’s unique Facebook ID, conversion state, and coordinates. The coordinates are obtained using a [Freegeoip]( database and the following code:


$geo = freegeoip_lookup($ip);

$lat = $geo['latitude'];
$lng = $geo['longitude'];

Finally, all converted users are plotted onto a Google Maps Heatmap which allows for custom gradients. So evil.

All in all, the application is just one big if-then statement so I spent the majority of my time attempting to perfect all of the pixels on both desktop and mobile environments. I’m quite pleased with the final outcome.

So… if you’re looking to make a change for the New Year, head over to to convert and don’t forget to check out Devil’s Due in theaters January 17th.


Now read this

Dropping Calls and Drinking Beers at Hollywood Hack Day

First things first: Hollywood Hack Day rocked! Rahim Sonawalla, Ryan Chisholm, and Abe Burns have truly created a premiere hacking event in Los Angeles. Kudos to them. I had my doubts about the LA developer scene, but was quickly... Continue →