Inspiration
At SUTD, the curriculum is highly project-based, requiring students to frequently form teams for coursework. However, group formation is often random, which sometimes results in teams with members who have very similar skillsets. This lack of diversity in strengths can create gaps in important areas, making it difficult for the team to complete the project efficiently or to its fullest potential. When a team has a balanced mix of complementary skills, members can contribute in areas they are strongest in, leading to more effective collaboration and better overall project outcomes.
What it does
The system allows students to indicate their strengths by selecting from a list of skill categories, such as:
- 3D modelling
- Coding
- Art and design
- Physics
- Mathematics
- Organisation and project management
Each skill is presented as a selectable “bubble,” and users may select multiple skills that they are confident in. Students will also input their name and the desired group size. Based on this information, the system will automatically generate groups using a smart randomisation process that aims to maximise skill diversity within each team. If there are insufficient students to form complete groups, or if the available skill distribution does not allow for balanced teams, the system will notify the user. It will clearly indicate the limitation and inform them that the groups generated are the most optimal possible given the available participants, though they may not represent the ideal skill balance.
How we built it
We began by researching existing approaches and using AI as a reference to explore possible solutions and coding methods. After reviewing the suggested ideas, we took time to understand the logic and structure of the code rather than directly copying it. We then adapted and built the system ourselves, implementing the features step by step and modifying the code to suit our project requirements. This process allowed us to learn the concepts, ensure the system worked as intended, and develop a solution that we fully understood and created on our own.
Challenges we ran into
One of the main challenges was designing a grouping algorithm that balances skill diversity while still maintaining fairness and randomness. We also encountered difficulties handling cases where there were too few participants or an uneven distribution of skills, which made it hard to form ideal teams. In addition, understanding and adapting reference code to fit our specific requirements took time, as we needed to ensure the logic worked correctly for our use case.
Accomplishments that I'm proud of
We’re proud that we successfully built a working system that generates groups while considering skill diversity. We were able to understand and implement the logic ourselves instead of simply copying reference code. Most importantly, we created a practical solution that can improve team formation and make project collaboration more effective.
What I learned
I learned how to break down a real-world problem and turn it into a practical solution. Through the process, I improved my coding skills, especially in understanding and adapting algorithms rather than just using them. I also learned the importance of planning, testing, and refining the system to ensure it works effectively for different scenarios.
What's next for MatchUp!
Next, we plan to improve the algorithm to create even more balanced teams and handle more complex skill combinations. We also hope to enhance the user interface to make the platform more intuitive and user-friendly. In the future, MatchUp! could be expanded with additional features such as skill ratings, preference matching, and integration with school systems for real-world use.
Log in or sign up for Devpost to join the conversation.