Every time I have a lecture, I waste time looking through every subpage of the course's Canvas page trying to find the Zoom link. Each instructor designs their layout differently, so it becomes quite infuriating to have to search each time. This, in combination with the reveal of the theme of UofTHacks VIII being 'Connectivity', led to the birth of Virtual Meeting Maestro.

What it does

Virtual Meeting Maestro (or The Maestro) works to help its users connect with less of a hassle by storing and making readily accessible all of the user's virtual meetings. The Maestro stores each meeting's name, description, time/date, and URL in one central place, even allowing stored meetings to be viewed in categories of those that are upcoming and those that have passed. As well, The Maestro will launch into any of these meetings via the provided URL.

How I built it

I started by building the backend in Java, such as the file reading/writing system (to a csv file) and the architecture of the program. Once that was in working order, I migrated over to Processing, using its GUI faculties to create the best user experience I could.

Challenges I ran into

Unfortunately, the migration from pure Java to Processing was not as simple as I had hoped. I had experience with using the Python mode for Processing, but the Java mode is a whole other beast. I had to overhaul the file reading/writing classes as well as the controller class in order to avoid Processing's fickleness. As well, when trying to implement my GUI, I was very overwhelmed. Base Processing was not suited for how advanced I was aiming my program to be, but I was able to find some really helpful libraries that were able to pick up the slack.

Accomplishments that I am proud of

As I mentioned, I am very proud of the GUI. I was hoping to make a program that is nice enough to be left open on your second monitor all day, but not distracting in any way. I think the result turned out to be great. Also, I am proud of the design of my code. Processing did not allow me to make packages as I normally would, but inside of my files I was able to write well-documented code that I hope can be understood by anyone (with enough prior programming knowledge of course).

What I learned

Over the course of this hackathon, I learned how important testing your code as you write it really is. I always write tests for my code, but usually that is after I have completed a significant amount of it. During a hackathon, you cannot take that risk. If you do not write tests as you work, bugs will compound.

What's next for Virtual Meeting Maestro

I am planning on adding more features, such as customization and settings for the user to have more control over the program. As well, I think adding in an optional notification functionality would be very helpful, such as to notify when a meeting is about to begin.

Share this project: