The weekend of 18-19th September 2010 saw PayPal open their doors to a bunch of developers for Charity Hack 2010. With the combination of API’s from JustGiving, PayPal and MissionFish the idea was to create something in 24 hours for charity or a good cause.
After much deliberation the week before over what to build (I really wanted to make a Blue Peter style totaliser using an Arduino but I couldn’t get the equipment there and was worried about setting the fire alarms off with the soldering iron) I decided to play safe and fix a real world problem I had.
As I am sure you are all aware I organise the Goodwood Roller Marathon each year and raise lots of money for charity. While I have managed to automate a lot of the administration, the collecting and tallying up of sponsorship is a huge admin task, especially after the event when we are all tired. The annoying part is that we send a lot of our users to Justgiving to create their pages but have no way of knowing which page they registered and so no way of tracking how much money our event has been responsible for raising!
The solution seemed simple. If we could use the JustGiving API’s to help the user create a sponsorship page then we should get a notification of that page. If we keep a table of these pages we can check them regularly and keep an up to date total of all the money our event has raised.
After a few shout out’s on the event twitter wall I was introduced to Nathan O’Hanlon & Justen Doherty, two PHP developers that were looking for a project. We all talked to the lovely David Whitney from JustGiving who hinted that this sort of functionality was already in the pipeline but was never finished so we decided to show them how it should be done :-p
I’m sure I could bore you all silly with the rabbit holes we went down over the 24 hours but things are never as easy as you think, especially when you are coding fast and even more so when you haven’t had much sleep. Nathan & Justen decided on the symfony framework and set to creating a GIT repo while I went off to register aggreg8.me and create the webspace.
There were many questions about the JustGiving API which David helped with. Lets just say the API had a few bugs too although a lot of the bugs were fixed in the same 24 hours. Annoyingly the API allowed for all donation pages to have an Event ID however there was no way of finding out what a valid event ID was let along then searching for them and indexing them! I really didn’t want to have to replicate the pages that JustGiving already had using the API but it seemed there was no choice. By the time night came we hadn’t done much coding but had a good idea of the direction. Nathan & Justen went home for the night and I stayed up designing the front end to the website.
I was disappointed not to be building anything with Arduino but had bought it along with the old BiscuitTrain rig. As it was night time and I wasn’t going to use it now I donated it to a fellow charity hacker who made Wreck it or not! (picture) People donating money would choose to make the train go faster or slower until it crashed. I’m glad it got used 🙂
Morning comes after a quick nap and Nathan returns for the day. Justen has been up all night coding at home so is now going to bed. We quickly add my front end to the project but now comes the integration which takes ages and all the way up to the 13:30 deadline.
After another food break (many have said it, we really were fed well) we all did our 3 min presentation. I kinda rushed it but I think I got our point across. The great news is that the program manager for JustGiving came to us at the end to say that he would like to talk about the project in the future. I really hope they do contact me and listen to my calls for help, I really do think it will make their platform stronger and better… plus I have VirginMoneyGiving already contacting me and asking what I would like :-p
(Loads of people took pictures of the event including pics of me but it seems very few made it online)
In all the event was a brilliant first hack day for me and a got a lot out of it. Our project http://www.aggreg8.me/ is now live and while it’s not using the live API’s yet (as JustGiving haven’t officially launched them yet) Nathan has been doing lots of work in the days after the event to make sure it’s a strong and stable product that fully works. It’ll be interesting to see what JustGiving do next, I will be sure to update you all.
A huge thank you again to Nathan & Justen for all their help and to everyone else for a fantastic 24 hours 🙂