Rewriting BitHunt
When I was the Chairperson of CS++ back in the 2023/24 academic year, I realised one of the best ways to boost engagement with First Years is to add a small activity at the Student Life signups festival.
I love making projects that solve problems or have a practical purpose, and I used to geocache all the time, so I thought what better way to get First Year students to join the society than complete a treasure hunt to help them learn the campus, and then give them a prize!
From this idea emerged BitHunt 1.0 the first web app I wrote in my now primary web framework, SvelteKit.
Early Days

It was my first properly reactive web app, and it really shows. That blue gradient moved around the screen on every page, was super distracting!
It worked, we had great turnout and lots of First Years used it to learn the campus and join our society, I was quite proud.
Uh oh
Then it came to the 24/25 Academic Year, I was a Sysadmin now and we wanted to run BitHunt for this years' Student Life Festival. There was only one problem, I completely forgot the Database schema.
So I had to trawl through the source code to see exactly what SQL commands I was running, and reverse-engineer the schema that way. That took me a few long hours late one night, but I got it running.
BitHunt wasn't fit for purpose anymore, in the year between its debut and when we wanted to run it a second time, I had worked on 9 SvelteKit web apps and found UI libraries, QoL packages, and better ORMs for working on DBs.
Neat, Portable, Extensible
It's good to have your work actually working, but when you develop for a society (or any organisation), it is vital you write code that is maintainable and extensible.
I'd told other Computer Science and Networking Societies in Ireland about BitHunt 1.0 and they'd expressed interest in using it, but it was so tailored to our use-case that it was useless to anyone else.
BitHunt joined the ranks of one of CS++'s annual traditions, and making it look nice, and perform properly was paramount.
For the 2025/26 Academic Year I realised it was best if I completely rewrote BitHunt with all the knowledge and experience I had gained since I first wrote it.
Enter Now

This version of BitHunt was designed mobile-first, and to not be tied to CS++'s design style, so others can use it.
The admin page was completely overhauled to be much more intuitive, and easier for less technical people to use:

And most importantly, the user experience for those actually playing was massively overhauled:

Players were no longer able to get soft-locked by being unable to see their hints, and the improved 'next location' algorithm made sure that they wouldn't get trapped in an endless loop.
BitHunt 2.0 debuted on the 17th of September and had over double the users when compared to the previous years.
Over 90% of those who played completed the full hunt, compared to the average 70% of the previous 2 years.
Not Finished, Never Finished
BitHunt 2.0 was a massive step up from 1.0, but was still under time constraints to be functional by mid-September.
For the general release, I want BitHunt to be a complete Treasure Hunt application that is easy for us and other groups to use, as well as being a beautiful, fast, and secure application. The next steps towards this are already in progress.

We love open source software at CS++ and one of our commitments is to have all of our work available to the world, both to be used by others, and to be used as inspiration for even greater things.
BitHunt, like everything CS++ makes is GPL V3.0 licensed. We don't want to make a profit, we want to make great things and give our members experiences they will remember.