Inspiration
When we think of creators, we tend to think of YouTubers, TikTokers, and Instagram models. However, some of the most valuable creators exist in open source software (OSS). These developers are responsible for maintaining software that powers the world, yet their contributions go unnoticed and unappreciated.
Just recently, Marak, the creator of open-source software package https://github.com/marak/Faker.js/ was unable to afford stable housing. Despite widespread praise of this package by developers and use of this package by large multinational corporations, Marak lived on the streets and received little compensation for his work. Discouraged removed his code from GitHub, where it was originally hosted. Stories like Marak's are unfortunately common within the open-source community. Despite the addition of channels like Patreon and Kofi, there is still no way for software developers to be paid consistently and fairly for the code they produce. We believe that free and open-source software contributors need to be fairly compensated and empowered by and for the work that they do.
What it does
This is where GitPeanuts comes in. We empower all OSS developers through fair sponsorship splits so that they can earn the living wage they deserve. Unlike other sponsorship platforms like GitHub sponsors, Patreon, or Open Collective, GitPeanuts sponsors the entire project team, not just the repository owner. We reward all creators no matter how small the contribution. Contributions are judged through our ranking algorithm to reward consistent maintainers.
How we built it
The bulk of our code is in everyone's favorite dev language: Node dot js. It powers the backend, serving up delicious details on repositories, authenticating users with GitHub and Stripe, and sending payments to open-source contributors far and wide. Paired with our server is his vain younger brother: our React frontend. It handles all the information coming in and out of the backend server but polishes it up with some a lot of CSS for high-quality UX. Stripe forms and APIs are integrated throughout to provide users with a secure and seamless way to pay open-source contributors for their work.
In spite of our unrequited love for JavaScript, we wrote a ranking server in Python (Flask), which runs parallel to the Node server described above. It handles the menial task of scanning through code and judging the worthiness of contributions.
Challenges we ran into
- Bug squaaashing
- Stripe web hook middleware
- Being dumb in general
- ngl reading comprehension gon 📉📉📉
Accomplishments that we're proud of
- It works (!!!)
- R e g e x
- Spaghetti code
- Greasing the rusty ol' hackathon toolkit after a year+ without in-person hackathons
What we learned
- We should plan APIs more
- GitHub is cool because there are at least 5 different ways of doing the same task
- Open-source developers are poor
What's next for GitPeanuts
As far as a hackathon project goes, we think we did pretty good! However, the time crunch definitely meant we had to omit some features we originally wanted to add: paid feature requests, manual sponsorship splitting, and custom payment plans. With the goal of empowering contributors, we'd also like to see more ways for developers to engage with their sponsors and see direct rewards for their work. Other than that, overall improvements to the efficiency of our many servers would be great, as well as adding in more caching to optimize the number of network calls our app requires. We also plan to refine our ranking algorithm and the way it scales to process large numbers of contributions.
We hope GitPeanuts can help motivate more developers to join the OSS community and empower existing OSS developers to continue maintaining their projects without being exploited. We all deserve to GitPeanuts.
Built With
- linguini
- noodlejs
- reactions
- snakelang
Log in or sign up for Devpost to join the conversation.