Inspiration
Each of the members in our group were not paired up with friends or colleges before joining the hackathon. Rather, our team was assembled on the day of the competition, wherein we rapidly discussed our strengths, experiences, skills, and interests. Our team was deliberately formed with a diversity of backgrounds and capabilities, which enabled us to take a broad approach to tackling the problem. Unfortunately, this approach of weighing a team's capabilities to tackling a problem is not the norm, which can result in underperformance and frustration. We wanted to develop a solution which would empower organizations and communities to maximize the effectiveness of their human capital by optimising for collective team skill.
What it does
Every group project requires a balance of skills, each of which vary in importance. Likewise, people have their own skills and capabilities they can bring to a project. Collectively, a group with a diverse set of skillsets have a high collective ability to execute a complex project. Our project uses measurements of skills to find the best team composition.
Both users and projects have a set of "skills", with values between 0 to 3 representing the competency in that skill. For instance, a user can have a competency rating of 3 for C++ representing an "expert" level competency in the programming language. A project can have a rating of 2 for Machine Learning, indicating a moderate level of expertise needed. Our project identifies team compositions that effectively combines the expertise of a set of candidates using a custom metric, which aims to minimise the possibility of collective skill gaps.
How we built it
Python was the main language we used
Challenges we ran into
Ran into challenges with ability as our team was from a wide background of skill levels and some were not able to contribute as fast as others leading to discrepancies in the quality of sections and some sections being left ultimately incomplete. Additionally our team struggled with output due to varying attendance throughout the competition resulting in many proposed features being out of the scope of what was possible for the project. Moreover, our team struggled to meet deadlines due to inexperience in hackathons from some team members further compounding our issues. A lack of a cohesive plan to begin our code also contributed to many temporary solutions which were difficult to fix.
Accomplishments that we're proud of
Successfully built an operational full stack application with databasing and profile management. While the project was not complete, many elements were successfully integrated together.
Most members of the group did not have previous hackathon experience, so undertaking such a complex project like a fullstack application was an incredibly valuable learning opportunity.
36 hours is a challenging amount of time to remain focused on a project. Despite not being able to complete the project, our tenacity led us to overcoming major obstacles.
What we learned
We learned that some of our team members need more experience in coding.
What's next for Project2Person
Naturally, the first step to increase the viability of Project2Person is building on the MVP algorithms used in the matchmaking process. The concepts used for connecting the right people to the right projects is currently heavily dependent on greedy algorithms. Implementing further optimisations using integer linear programming to ensure the best possible outcome is selected in all cases (a result that is not guaranteed when using greedy heuristic algorithms), or using weighted bipartite matching would increase the efficiency and the quality of the application. Moreover, to prepare Project2Person for real world applications, other variables such as user's availability (working hours and commitment levels) must be considered when developing the algorithms.
Log in or sign up for Devpost to join the conversation.