UNSW Art&Drawing Society x UNSW Puzzle Society team creation bot
An opportunity was granted to me by the A&Dsoc x PuzzleSoc Treasure Hunt Collaboration event to create a discord bot to manage creation of teams and their respective voice and text channels for this event. This opportunity provided me with how a normal client experience feels like since the event coordinators did not really care how the process of the bot was made, but that it works seemlessly during the event.
This project gave me a couple experiences in working with non-compsci background teammates:
- allowed me to have an agile workflow where every update can be tested by the exec team members which allowed for real time feedback
- feature suggestions were made by the exec team throughout the development stage
- Needing data to be persistent from the beginning, so that exec team members testing did not become tedious
- Creating development commands to ensure ease of tests, which were then removed during the event.
- Creating an impactful software that will be used by users
- Creating a feature that was added in the middle of the event (pinging available execs), testing it before hand in a private channel, and deploying it during the first 5 minutes of the event.
I opted to not use an off the shelf solution as I did not believe that the available bots did not have the needed features for this event. In addition, customising off the shelf solutions would be more time consuming than rolling out my own. This resulted in me trying to use the least amount of libraries needed for this project, so that it's easier to have a mental model in smaller dependency projects. This would help for the next person to pickup or fork for future events. This was the reason why I only opted for Typescript, SQLite, and discord.js only for major dependencies.
In conclusion, the bot was used to handle the creation of more than 20+ teams and 100+ users that allowed the user to have zero hiccups during the event. It was one of the most engaging projects I've ever had.