A team of two friends each located on the other side of the planet trying to make open source more welcoming, one hackathon at a time.
Ishaan Malhi - Graduate Student @ucberkeley, Previously @insider.in Zarana Bhadricha - Ex QA Analyst @Accenture
View and analyze GitHub community sentiment and health scores. Make open source more welcoming to newcomers and help maintainers monitor community health.
Open Source can get quite overwhelming if one is just starting out, especially choosing where to begin since the list of projects and technology are endless. An uncomfortable first experience could discourage one from contributing again. It would make it easier to choose once you know you are welcome at the community.
Our app helps developers and open source maintainers understand the quality of interactions on their project and community by a “community score”. This score is assigned based on the sentiment analysis of various documents like the Code of Conduct, GitHub Templates, Readme as well as Pull Request and Issue conversations. We hope this encourages everyone in open source to maintain a high standard of community health and help maintainers ensure their project is welcoming as it starts to grow.
CommunityScoreApp scrapes data from GitHub’s community APIs (experimental) as well as Pull request and Issue comments RESTful apis to fetch text data of the code of conduct, readme, pull request and issue comments. This text is then sent to a pre-trained Tensorflow.js Sentiment Analyzer and Toxicity Model built on an LSTM and Universal Sentence Encoder, to obtain sentiment scores on a scale of 1 to 10. The models are fetched from Google Cloud Storage and cached in IndexedDb for better load performance.
The sentiment scoring happens entirely in the browser and does not use a backend. These scores are then computed in a weighted average, with a higher weight given to GitHub health percentage. All this data, including “sentiment labels” such as “beginner friendly”, is stored in a Hasura.io backend service. Hasura provides the GraphQL service on top of PostgreSQL that stores the repository analysis data.
We then use Shields.io to generate repository badges that maintainers can add to their repository.
The main app uses Next.js by Zeit and is deployed on Zeit Now using Serverless SSR. The Hasura backend service is hosted on Heroku.
Add Repo
input.
View the screencast:
https://www.loom.com/share/cc0579cc3599433096eaa2f5b6b8556a
Useful tool for OSS lovers. I like the UI a lot. I would love to see something more visual in the `details view`.
Awesome app. I like this. I'd like to use this for selecting libraries. If we can check score with graphical, I think this is more good.
This is a brilliant idea and is executed really well. I found my own repo is a poor place to start in open source. I should really add a README!
Nice and very useful app. Matching theme for open source. Hope you will check our entry too
This is quite interesting. I wish I knew a bit more about how much each part of the analysis was influencing the final score. But, I like it. Good work!
Ishaan Malhi
Thank you for the feedback! :)