Hack the Burgh 2023
On the 4th-5th March I competed in Hack the Burgh IX.
This was a weekend with a lot of firsts. My first Hackathon, my first time programming in Python, my first time meeting my team members. I encountered, overcame and learned from several challenges. I also enjoyed some fun distractions such as solving maths problems in return for merchandise from Marshall Wace!
There were so many goals to aim towards in this Hackathon. The team we formed had diverse backgrounds and most of us were relatively new to programming. Although my PhD is in Informatics/Mathematics I have mainly used nonstandard languages e.g. Isabelle and Prolog, just recently learning some Javascript. We each pitched different ideas: of course I wanted to aim for ‘best use of mathematics’ and I suggested that we build a program which could check some of ChatGPT’s erroneous mathematics.
My team mate Anthony had some experience with app development and advocated that we aim for the Sainsbury’s challenge: build a loyalty programme which would encourage customers to make wise financial decisions. Anthony’s idea was an interface for customers to spend loyalty points and an aim for this to include a lottery. The focus would be on encouraging customers to spend their points on sustainable items. Building a working product was our primary aim, and so we went with Anthony’s idea which we believed we could achieve.
Design was our next step. We drew a diagram to plan out how the front and back-end would interact and kept it simple: Google sheets would handle the database of customers and their point totals. We chose Python for the front-end since it was an easy-to-use language that should suit our diverse backgrounds.
Shortly after the design period we began to lose team members: one of us was feeling sick, another wanted to work on their own project and one wasn’t feeling confident in their ability to program. Anthony and I decided to stick it out and build the best app we could in the time remaining.
Learning Python as I built the GUI was a great experience. I read the documentation on each piece, thought it through, tried stuff out, debugged it and improved my code as I went. E.g. my product database started out as individual items, but evolved into a constructor function that fed into a frame object, layout object and then a window object.
We began to feel quite burned out around 10pm but were back bright and early tomorrow morning. We prioritised what we wanted to finish, and submitted a minimal working demo of our app.
I enjoyed demoing our Sainsbury’s Loyalty GUI. The judges were enthusiastic and asked good questions which helped me to focus on the design and use of our project. We ended up winning a small runners-up prize. The judges were impressed with the adversity we had taken in our stride during the hackathon, and felt that we had hit the brief well.
There were some impressive projects submitted in this Hackathon. To just mention a few, there was a ‘find a bin’ webapp, a visualisation of Ebola outbreaks and a tool for lecturers to see comments on their lectures that also eliminated hate-speech.
These were inspiring to me for what I can to aim towards in the future, yet our own modest contribution already felt great. I started from almost no knowledge of app development, and was able to produce a working GUI as well as to understand and integrate my team-mates’ contributions to the security and back-end. If you have the opportunity to participate in a hackathon, even with very little experience, I recommend it. As long as you stick it out and give it your best effort, you will produce something that impresses yourself and gives you confidence to move onto the next step in your creative and technical journey.