Inspiration# OPEN MATCH
Inspiration
Contributing to open source is an incredible way to grow as a developer, enhance your skills, and make a positive impact on the tech community. However, for many of us, especially first-timers, the journey can feel daunting. With countless projects and issues to sift through, it’s often overwhelming to find the right fit. Despite the availability of platforms that list open issues, there remains a steep learning curve to navigate complex codebases and identify tasks that align with one's expertise.
That's where Open-Match comes in. Our mission is to empower developers to make impactful open-source contributions by simplifying this process. By allowing users to upload their profiles, we are trying to match them with open issues that align with their existing skills and interests. We aim to reduce the friction of that first contribution, helping developers discover where their talents can truly make a difference. Open-Match is here to bridge the gap between developers and the open-source projects that need their unique skills, making it easier for everyone to get started and grow in the world of open-source.
How We Built Open Match
Open-Match is built with a focus on delivering a seamless experience for developers looking to make impactful open-source contributions. Here's an overview of how we developed the project:
Frontend
The frontend allows developers to upload their resumes, LinkedIn profiles, GitHub profiles, and other relevant information. This data is used to understand the user’s skills, experience, and interests, which helps us create personalized recommendations for open-source issues.
Backend & Data Processing
At the core of our backend, we developed a service that indexes open GitHub issues. This service uses the GitHub API to fetch and update our database of open issues, ensuring that it stays up-to-date with the latest contributions and projects. To make this data more insightful, we leverage Large Language Models (LLMs) to generate comprehensive summaries of each issue, making it easier to understand the context and requirements.
Matching Engine
To match developers with the most suitable issues, we implemented a semantic search engine using MongoDB Atlas. We use LLMs to generate semantic embeddings of both developer profiles and GitHub issues. This allows us to perform a highly accurate matching based on the relevance of a user's skills and experience to the open issues. By using this approach, we go beyond simple keyword matching, ensuring that users are presented with issues where their contributions can have the most impact.
Bringing It All Together
The result is a streamlined platform that empowers developers to quickly discover open-source projects that align with their skills and passions. Whether you're a seasoned contributor or someone making their first open-source contribution, Open-Match is designed to help you find your perfect match and start making meaningful contributions right away.
Challenges
I think one of the major challenges that we are actively solving still is how to keep our DB of massive open issues relevant, valid and fresh.
Accomplishments that we're proud of
Being able to complete a prototype demo in 48 hours and getting one step closer to open source community.
What we learned
The last few days have been crazy, while we learned about semantic search, vector embeddings and how to use GitHub public apis the most existing thing is we are on road to build an Issue tracker that can scale to to tracking 400M+ GitHub issues and index them.
What's next for Open Match
We are thinking of extending this software where users can create accounts, keep issues that they care about in queues as we as work with developers who are interested in solving similar problems
We are planning to build an GitHub App that open-source repo owners can install which can help make issues summaries based on the issue title and the codebase that can help make our matching algorithm much robust. This model also allows us to tackle with 400M+ issues and maintain them!
We believe if we do our job right we can help build a stronger open source developer community by reducing friction to make open source contributions. And make sure we have fun along the way we build it.
Built With
- amazon-web-services
- cloud-functions
- langchain
- mongodb
- nextjs
- openai
- python
- vercel
Log in or sign up for Devpost to join the conversation.