Inspiration

Our inspiration for this project was our personal struggles in finding meaningful technical experiences, especially as freshmen. We realized that many early-stage developers face the same barrier, wanting to gain real-world skills but lacking access to opportunities. So we decided that if we were going to search for experience, we might as well build something that creates experience for ourselves and impact for others at the same time.

What it does

Commit4Good is a full-stack platform that connects developers and technical volunteers with nonprofits and community groups through GitHub-based projects. Organizations can post projects, break them into manageable tasks, and review volunteer applications, while contributors apply, complete tasks, and submit work for approval. With secure authentication and role-based workflows, Commit4Good simplifies collaboration by turning technical skills into measurable impact. It gives nonprofits skilled support while also giving volunteers verifiable experience.

How we built it

We built Commit4Good using a modern MERN-style stack. The backend was developed with Node.js, Express, and MongoDB, with carefully designed Mongoose schemas to handle users, submissions, and completion notifications. We implemented a robust REST API to manage the full lifecycle of applications and task completions, including error handling and idempotency safeguards. The frontend was built with React, Vite, and React Router, focusing on a responsive UI and role-aware navigation. We also added JWT-based authentication for secure user sessions and created migration/test scripts to ensure database consistency and reliability.

Challenges we ran into

We originally wanted to implement Gemini text-embeddings to match volunteers with projects based on their GitHub repos, resumes, and skillsets. However, integrating it broke our system and created major instability, so we had to roll it back. Another challenge was ensuring data consistency across multiple models and making sure that approvals and completions updated both user profiles and project states correctly.

Accomplishments that we're proud of

What we learned

We learned the importance of careful schema design when handling multi-user data models and linked records. We also discovered how to balance ambitious features with realistic scope — sometimes it’s better to ship a solid, reliable core system than to break it trying to add everything. On the frontend, we gained experience in designing for usability and accessibility, making sure the platform worked well for both organizations and volunteers.

What's next for Commit4Good

Next, we plan to reintroduce AI-powered project recommendations, matching volunteers to tasks based on their skills and experience. We also want to add GitHub integration so organizations can directly link repositories and volunteers can contribute through familiar issue/PR workflows. In the longer term, we hope Commit4Good can scale into a global platform for civic tech, where developers everywhere can build their portfolios while making a tangible difference for nonprofits and communities.

Built With

Share this project:

Updates