Thoughts on a Hackathon
So I took part in my first Hackathon at the weekend, I wasn’t sure what to expect but I thoroughly enjoyed it - enough to write down a few thoughts.
The whole event started on Friday, where we were reintroduced to the challenges and have an opportunity to do a fire pitch. I drew the short straw on our already formed small team of three, so I threw our idea into the fray.
It turned out that another team had a very similar idea to ours, and they approached us to perform the fastest hackathon team merger (or was it an acquisition?) of all time.
Friday night, myself on stage doing the fire pitch
We were given access to an Open Banking sandbox to use the new Open Banking APIs which are being made part of UK Regulations this year. This basically allows a banking customer to give access to their data to a third party.
So we’ve got some data, and we’ve got a challenge: fix credit scores, and how they do not fulfil the needs of everyone in the UK currently.
Unfortunately, paying your rent does not contribute to your credit score, and is often not taken into account when banks conduct mortgage affordability assessments, so we wanted to see if we could create a transaction based affordability profiling tool that helps tenants become mortgage ready.
The system we produced by the end of the two days could analyse transactions to work out mortgage affordability, based on rent, salary, incomings and outgoings.
The stack we chose was trusty old Java for transaction processing and API fanangling, cached in a MySQL RDS database, using Spectre for categorisation with PHP crunching the numbers for the profile. Angular was in the front to help bring all our APIs together.
We of course used GitHub help the team collaborate, and CircleCI to check up on our hastily written code. Everything was dockerised and published to Docker Hub, where we had an AWS ECS service ready to run the docker images. For reliability we did however run the demo locally (but still connected to the RDS database over a VPN though!)
It was extremely liberating to ‘hack’ on code, without a care for unit tests, pushing directly to master without no branches in sight. Not a single tear was lost for magic strings, or poorly architected code. Truly “move fast and break things”.
Hackathons, for me, are about building something that really does work, not a fake mocked up demo to get you through your pitch.
This weekend demonstrated to me, just how quickly a team, not knowing each other, can organise and demonstrate a huge amount of progress. We should allow that knowledge to propagate to our regular day jobs, and let people get on with it.
Whilst there is a lot said for doing everything properly to make it ready to be production code, if it’s a proof of concept, throw out the rule book and run like the wind.