About the Project

Inspiration

The idea for Allocate++ came from the many issues with the current Allocate+ website. The existing Allocate+ website is extremely unintuitive and unappealing. Its design looks outdated and old-fashioned compared to modern applications. Allocate++ aims to improve upon these issues while also introducing more features to help students plan their timetables more effectively.

When using the current Allocate+, you will realize that you cannot visualize your timetable before selecting specific class times. This makes it difficult to plan combinations of class times that are convenient for you. You often find yourself constantly switching between the timetable tab to check your current schedule and another tab to manually change class times for specific units—how inconvenient.

We also understand that some students prefer not to manually select their timetable and pick each individual class time. To address this, Allocate++ aims to provide students with an option to auto-generate a timetable that is convenient for them.

What it does

Allocate++ aims to be more user-friendly and visually appealing. The design has been updated to have a modern look that aligns with current standards.

With Allocate++, students can visualize all available timeslots on an interactive calendar, allowing them to quickly and easily see what their timetable would look like before finalizing their choices. Students can select individual units and their corresponding classes, and the calendar will conveniently highlight the available timeslots, making it easier to visualize their timetable.

For those who prefer an automated approach, Allocate++ includes an auto-generator that creates an optimized timetable based on student preferences. Students can also choose the maximum hours per day, as well as highlight times on the timetable where they are not available. The generator then instantly produces the most suitable timetable using a priority matching algorithm that we made.

How We Built It

In the development of Allocate++, Figma played a crucial role, enabling us to visualize and refine wireframes to ensure an intuitive and engaging user experience. We built the website with a minimalist design and adopted a blue color palette similar to Allocate+, reinforcing the idea that Allocate++ is a superior and more user-friendly alternative.

Our development process was driven by brainstorming sessions and agile sprints, allowing us to rapidly generate and refine ideas. Throughout the project, we followed an iterative development cycle, where we continuously tested and improved our features based on end-user feedback. This ensured that the platform not only functioned smoothly but also directly addressed the needs of students.

Allocate++ is built using React for the frontend and Node.js for backend processing, ensuring a smooth and responsive experience. The system architecture supports real-time updates, allowing students to adjust their selections dynamically without delays.

For the timetable auto-generator, which is designed to optimize scheduling based on individual preferences, we implemented a maximum bipartite algorithm that efficiently matches the available class slots with the student’s preferences. This feature was refined over multiple iterations, incorporating user feedback to enhance its accuracy and effectiveness.

Challenges We Faced

One of the major challenges was setting up the backend using Node.js. Designing a backend that would connect smoothly with the frontend was complex and time-consuming. Ensuring the proper functionality of the system required setting up databases, handling user data, and managing API calls, which was more intricate than initially anticipated. It felt like we were constantly troubleshooting to ensure the backend could support all the features we envisioned.

Time management was another significant hurdle. With so many tasks to tackle—frontend design, backend development, Figma design, creating the video, and writing up the Devpost—we found ourselves scrambling to delegate tasks effectively. Each of us had to balance multiple responsibilities, and with the hackathon clock ticking down, we barely had enough time to wrap everything up to the level of quality we had aimed for. Prioritizing what was most important became a crucial part of our process.

Additionally, many bugs popped up when trying to connect the frontend and backend. We spent a lot of time debugging issues related to API calls, data synchronization, and ensuring that the front-end components were receiving the right data from the backend. This created a lot of frustration, especially when we were trying to implement the timetable calendar feature, which had its own set of bugs with the dynamic highlighting of available timeslots. These bugs delayed progress and added to the pressure as the deadline approached.

Accomplishments that we're proud of

Allocate++ truly works, and we're excited to see it come to life despite the challenges we encountered. Our interactive timetable preview and smart auto-generator now function seamlessly, allowing students to easily visualize and optimize their schedules in real time. However, setting up the backend and connecting it with the frontend was far more complex and time-consuming than anticipated. The backend had to support multiple features, manage data, and ensure smooth communication with the frontend, which led to several troubleshooting sessions and unexpected bugs.

In addition to the backend challenges, time management became one of our biggest obstacles. With limited time and so many tasks to complete—designing the frontend, developing the backend, finalizing the Figma design, creating the video, and writing up the Devpost—we found ourselves racing against the clock. Delegating tasks and prioritizing them effectively became crucial, but it was tough to balance everything while keeping up with the quality of the project.

The timetable calendar feature also posed significant issues. We encountered bugs related to dynamically highlighting available class slots, which delayed our progress. These bugs, coupled with the task of ensuring that the frontend and backend communicated properly, added a lot of stress and frustration to the development process. However, despite these setbacks, we remained determined to finish the project on time.

On a deeper level, we are especially proud of how our team worked together to overcome these challenges. Through brainstorming sessions and collaborative problem-solving, we learned how to combine our individual skills to tackle complex issues. From debugging backend connections to refining the interactive preview and auto-generator, each team member brought their expertise to the table. The constant communication and support from everyone allowed us to push through the difficult moments, and now we can look back with a sense of accomplishment.

What We Learned

For the development of Allocate++. it was important to define a clear direction for our project, especially as we faced numerous challenges. Initially, our team struggled with defining our priorities and aligning on a single vision. However, as we ran into technical roadblocks and time constraints, we realized the importance of narrowing our focus. By centering on the core problem of simplifying timetable management for students, we came together around a common goal: to create a product that is user-friendly, functional, and genuinely impactful. This clear vision helped us to make meaningful progress despite the setbacks.

It was also important to identify and utilize the unique skills of each team member. Our team had diverse strengths, ranging from back-end development to UI design, but the fast-paced nature of the project required us to go beyond our areas of expertise. Everyone had to participate in all parts of the project whenever possible. We quickly adapted and learned new skills, such as using Figma for UI design and React for front-end development. As we encountered challenges like connecting the frontend with the backend and dealing with persistent bugs, we learned the value of being adaptable and stepping out of our comfort zones. This mindset allowed us to effectively fill skill gaps and work together to overcome the technical challenges that arose. By the end of the project, each of us had learned different skills that we didn’t know before.

Additionally, It was important to have passion for the product we were creating. Developing Allocate++ within 2 days was challenging, but what kept us going was our passion for the project and our belief in its potential impact. From discussions about which features to prioritize to hours of tweaking the timetable calendar and backend integration, we were driven by the desire to create something meaningful that could truly make a difference for students. Every team member was willing to put in the hard work because they were fully invested in the product. Even when we were many problems that arose, our shared enthusiasm for the project kept us moving forward.

What's Next for Allocate++

As we continue to enhance Allocate++, we are focused on expanding its capabilities to further streamline the student timetable management experience. One of our key goals is to integrate Monash University’s systems directly with Allocate++, so that students can use our platform instead of the existing Allocate+ system. Potentially by working with Monash, we aim to make Allocate++ the primary platform for timetable management, providing students with a seamless, efficient, and more intuitive scheduling solution.

In the long term, we envision Allocate++ evolving into a comprehensive academic planning tool that goes beyond just timetables. This could include features like exam scheduling, assignment deadlines, and course progress tracking — all integrated into a unified platform that helps students manage their entire academic experience in one place.

Additionally, we would love to see Allocate++ being adopted by other universities beyond Monash, becoming a widely used solution for students worldwide. Our goal is to create a platform that adapts to the specific needs of different institutions while maintaining its core vision of making academic scheduling easier, smarter, and more intuitive.

With these exciting future features in mind, Allocate++ will continue to evolve into a tool that truly empowers students to take control of their academic journey. We look forward to the day when Allocate++ becomes the go-to solution for all students, starting with Monash and expanding far beyond.

+ 27 more
Share this project:

Updates