- Published on
My First Hackathon!
- Authors
- Name
- Carter Speerschneider
My First Ever Hackathon!
Today on April 6th, 2025, I worked with some undergrads on a programming project! It was my first ever hackathon and it turns out It would be a wild and interesting ride. I was faced with some unfortunate and novel challenges that I hadn't come across before or even considered.
A Team Effort
My goal for this project was to come at the requirements from a unique and interesting angle. I wanted to also learn about the different operations you could do with the Canvas API. Because of my experience, I was naturally the leader of the group, but that also meant I was placed under more pressure to try and make sure everyone knew the applications of my ideas.
I had to learn how to put theory into understandable terms. It wasn't easy making sure everyone had a role that they understood. Communication skills were something I learn a lot about throughout this experience.
We really struggled on committing to a project at first. I wanted to make a dashboard application that could read the user's grades, assignments, and classes to create a centralized status board. However, it was hard to prove to the others that we could really make it something special and unique.
At this point time was running. We spent hours trying to come up with a plan; we were in gridlock. After we all took a lunch break to unwind, I believe we all realized that we had to make something work so we set out to complete the Canvas dashboard.
We decided to make this application using Flask with the Jinja2 templating library. Using Python in these hackathons seemed like a necessity due to it's ease-of-use and it's concise syntax. It's also a language that everyone in the group was comfortable using to an extent.
Exploring the API
As much as I love coding, testing API functionality without fully grasping the documents can be a bit tedious at times. I learned that you need some way to get an access token from the user in order to request data on their behalf.
This was simple enough to do with my own token, but I had to get creative in order to make this secure in production. At first, I made the mistake of manually asking the user to generate a token and use it in the application, but it turns out that's actually a violation of the Canvas API Policy!
While I handled, this the internals of the API, I tasked my teammates with completing the frontend together in the best way they know how. I wanted to leave it flexible and then I would try to integrate it near the end of our development.
This felt like the best option because it allowed them to be comfortable developing and it allowed me to only focus on the backend.
Conclusion
We were all just a rag-tag team of undergrads, and that day was the very first day we met so the chances that we would form strong friendships with one another wasn't a guarantee. However, we managed to pull off a pretty impressive project that I did end up presenting.
While it wasn't in a perfect state, I felt that everyone had contributed in some meaningful way. We also learned a lot along the way about security and cooperation among developers.