Inspiration

University students are looking for a simple and accessible way to meet up with project teammates and socialize with their friends. At the same time, they're often overwhelmed by disorganized school event notifications in their emails. While apps like Google Calendar and When2Meet address some of these needs, our mobile app focuses specifically on providing a solution tailored to university students.

Google Calendar offers many features that are more suited for work-related tasks, such as meetings, which can make it cumbersome and unintuitive for a student who is simply trying to find a time to meet up with friends.

While When2Meet is user-friendly and convenient, it requires creating a new event every time a user wants to arrange a meetup with friends—this can be repetitive, annoying, and therefore not a long-term solution.

We wanted to get the best of both worlds: the easy accessibility of When2Meet and the comprehensiveness and permanence of Google Calendar. That’s how we came up with Unify—an easy-to-use platform tailored for students to plan their gatherings and organize their schedules.

What it does

Unify is a platform that helps students easily coordinate events, even with varying schedules, through social calendars. A user can create private or public accounts and manage their own events (personal calendars). Public calendars can be shared, allowing others to follow your schedule. Similarly, you can follow other people's calendars to view their availability and plan meetups.

Organizations can also create calendars to showcase their workshops, performances, important events, or CCA sessions. Unify encourages student groups to publicize their events so students who follow their calendars can stay up to date.

Through a toggling feature, users can "overlay" followed calendars—or their own multiple calendars—to compare schedules and plan meetings with friends, colleagues, or groupmates.

A drag-and-drop event feature allows for easy modification of events, while customizable calendar colors help distinguish between different calendars based on user preference. We took inspiration from FullCalendar’s UI. While many of their features are not free, we were able to replicate some of them ourselves.

How we built it

Tech Stack: PERN stack – PostgreSQL, Express, React, Node.js Additional Tools: Axios was used to connect the frontend to the Express server. Deployment: Vercel for the client, Render for the server, and Supabase for the PostgreSQL database.

Challenges we ran into

  • We didn’t realize at first, but calendar apps are notoriously hard to build due to time zone complexities. Dealing with UTC vs local time required additional calculations and learning best practices for time-based apps.
  • Team collaboration had a steep learning curve. While we knew how to use Git, we initially only pushed to main. At one point, we accidentally broke our app with no backups. Our mentors helped us recover using rebase, and taught us the importance of branching and pull requests for safer workflows.
  • Merge conflicts became more tedious as our codebase grew. Understanding each other's code took time, and we had to stay mindful of each team member's strengths, weaknesses, and coding preferences. We made it a habit to meet every Friday before HEAPS sessions to resolve merge conflicts together.

Accomplishments that we're proud of

  • We built a working app despite our different schedules. Time constraints worried us, but we managed to deliver a functioning application in time. We prioritized essential features over “nice-to-have” ones and made the right compromises.

What we learned

  • Teamwork matters. No one could’ve completed this alone—it was the result of everyone’s effort, both in terms of quantity and quality of code. Brainstorming together improved our UI, design, and logic significantly.
  • Continuous learning is key. Our mentors emphasized that the best way to improve or finish a project is to start building. Watching tutorials is useful, but nothing beats solving bugs and overcoming challenges as they arise.

What's next for Unify

  • We’re proud of what we’ve built. Despite its imperfections, the app meets our goals, and we’re satisfied with its functionality. After HEAPS, we plan to review and reflect on our code to better understand and appreciate it. If time permits, we’d love to fix bugs and implement the features we didn’t get to during the program.

Built With

Share this project:

Updates