Inspiration
Students hate discovering events through Instagram. You have to follow dozens of club accounts, scroll endlessly, and you still might miss things. Many school websites made to congregate events are either outdated or seldom updated.
This project fixes that by turning Instagram into a single, shared campus calendar. Clubs just tag one account when they post (no new platform or extra work) and the event automatically appears on a clean, filterable calendar with time, location, and details. Students can see every campus event in one place without opening Instagram. It’s frictionless for clubs, better for students, and works for everyone on campus.
How we built it
CampusCal is built with the help of a Gumloop workflow, which retrieves the tagged posts of a specialized Instagram account, analyzes the post image(s) & description to get information about each event, and condenses it into simple JSON fields that are them sent to our backend, which runs on flask and uses a postgres database. The website itself is hosted on Vercel, and the frontend was made in Next.js.
Challenges we ran into
The hardest part of this project was pulling posts from Instagram. Meta’s API is heavily restricted, so instead we used Gumloop’s API, which scrapes public posts and seamlessly integrates with AI—allowing us to automatically extract and categorize event details. Additionally, we faced difficulty in connecting our back and front ends, as it was some of our first times' working with Vercel.
Accomplishments that we're proud of
We're proud of the smooth frontend design, as well as the connections between our different interfaces!
What we learned
Through this project, we learned how to integrate multiple online platforms with one another and best utilize a combination of AI automation tools to make tasks easier.
What's next for Campus Calendar
To expand on CampusCal, we want to integrate more universities than just McGill, as congregating events in one easy spot for students seems to be a problem across many schools! We also want to refine the tag system, so students can easily filter by what matters most to them.

Log in or sign up for Devpost to join the conversation.