Analyzes your GitHub Profile and presents you with a report on how likely you are to become the next MLH Fellow!

Overview

Fellowship Prediction

GitHub Profile Comparative Analysis Tool Built with BentoML

Fellowship Prediction Header Logo

Table of Contents:

Winner

This project won the MLH Fellowship Orientation Hackathon - Batch 4 along with other great projects by MLH Fellows. We highly suggest you check them out.

Features

Analyzes your GitHub Profile and presents you with a report on how likely you are to become the next MLH Fellow!

Try it now!

Demo Git

Provides you with an extensive analysis on the following features of your profile:

Feature Description
Commits Number of total commits the user made
Contributions Number of repositories where the user made contributions
Followers Number of followers the user has
Forks Number of forks the user has in their repositories
Issues Number of issues the user has raised
Organizations Number of organizations the user is a part of
Repos Number of repositories the user has
Stars Number of stars the user has on their repositories

And gives you a comprehensive score of how similar your GitHub Profile is to an average MLH Fellow's GitHub.

It also shows your statistics in a user-friendly data visualization format for you to gauge the range of your skills and become the next MLH Fellow!

Disclaimer

Dear user, building this application, we were trying our best to provide with data insights into things you can improve through your GitHub Profile. This is a hackakthon project that is built by Open Source Fellows and is not directly affiliated with MLH in any capacity. The positive score in your application does not guarantee your chances of becoming a fellow because there are external things apart from GitHub that affect the decision process.

We also hope that you understand that your GitHub Stats do not affect your value to the community as a developer. We all have different paths to success in our lives, and they do not necessarily involve high scores. Regardless of your numbers, you are going to succeed in your journey.

Technologies Used

Tech Stack Used

We used the following technologies:

  • BentoML along with Heroku to build an API endpoint that calculates the comprehensive score for the user based on a simple query.
  • Flask deployed to Heroku to setup a bridge between the frameworks and collect the input data.
  • React.js served on Firebase to provide user-friendly UI for future MLH fellows to use.

Contributing

To contribute to this open-source project, follow these steps:

  1. Fork the repository.
  2. Create a branch: git checkout -b <branch_name>.
  3. Make your changes and commit them: git commit -m '<commit_message>'.
  4. Push to your branch: git push origin <project_name>/<location>.
  5. Create a pull request.

To work on BentoML:

  1. Go to model/bento_deploy to find necessary files.
  2. Read BentoML Start Guide to learn more about the files.
  3. Improve the BentoML Interface to provide our users with a more accurate score.
  4. Create the BentoML prediction service with python bento_packer.py and commit the saved class from bentoml get IrisClassifier:latest --print-location --quiet.

To work on the Back-End:

  1. Consult scr/server and its README.
  2. Make contributions.

Alternatively: Reach out to one of the Project Contributors for questions.

Demo

YouTube Logo that Leads to our demo

Motivation

We built this project because we wanted to help prospective MLH Fellows with their progress toward a better GitHub profile with solid projects and a record of active work. We also wanted to give them some insights into what an average fellow at MLH looks like.

When we were just aspiring to become MLH Fellows, we would look for different sources of information to know what MLH is looking for in their fellows and better ways to prepare. So we tried to address this issue and hopefully support future fellows on their way to success.

However, we make an important notion that your GitHub Profile does not define you as a developer. Our tool is simply to let you see into the data for areas of potential improvement and keep working toward your goals. We do not consider things like:

  • Personal communication levels
  • Spot availability
  • Match in project interests

The mentioned points affect your chances on becoming a fellow. Unfortunately, there is no way to take them into consideration.

Team

Damir Temir


Damir Temir

Working on the project, I learned the basics of BentoML and deploying the server model to the cloud like Heroku. I also gained some experience in Data Mining and Processing, which is an invaluable skill toward my journey to Machine Learning Engineering.

The contributions I made are:

  • Wrote Jupyter Notebooks where we showcase our work with the GitHub API.
  • Set up a Git repository with active GitHub Projects and proper infrastructure.
  • Mined data on more than 650 fellows in the MLH Fellowship organization.
  • Created a BentoML API node deployed to Heroku for querying.

Aymen Bennabi


Aymen Bennabi

During the hackathon I majorly worked on the Front-End part of the project. I created a friendly UI/UX to collect data and visualize the results. Also, I helped a little bit with the Back-End by creating a facade API to make working with GitHub easier. The new interface adds a level of abstraction that mainly focuses on quantitative data that we needed to do the statistical analysis.

I really enjoyed the Orientation Hackathon. I now feel more confident working with Git/GitHub. I also started learning about functional programming base API (OCamal/dream).

Tasha Kim


Aymen Bennabi

Utilizing BentoML gave us a flexible, high-performance framework to serve, manage, and deploy our model to predict MLH fellowship status using user's GitHub profiles. In particular, I enjoyed working with ML frameworks like Matplotlib, Seaborn, and Pandas, as well as Cloud native deployment services, and API serving that were all packaged into a single service.

Some of my contributions were:

  • Implemented the ANNOVA model as an alternative improved statiscal comparison to the one we are using now. Our current one works fine, but we can use this in the case we want a more rigorous and detailed comparison (multiple pairwise comparison (post hoc comparison) analysis for all unplanned comparison using Tukey’s honestly significantly differenced (HSD) test).
  • Built a CI (continuous integration) pipeline for build, run, and testing of our node app as well as python app using github actions.
  • Implemented method to compute average statistics for aggregated mlh fellow data.

Shout out to everyone in our team!

Eyimofe Ogunbiyi


Eyimofe Bennabi

I worked on the Back-End Server for the project and the deployment pipeline on Heroku. I was able to use the Flask Rest Framework for the Back-End which was a new experience for me.

License

This project is served under the MIT License.

MIT License

Copyright (c) 2021 Damir Temir

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)

scikit-opt Swarm Intelligence in Python (Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Algorithm, Immune Algorithm,A

郭飞 3.7k Jan 03, 2023
This repository contains all the code and materials distributed in the 2021 Q-Programming Summer of Qode.

Q-Programming Summer of Qode This repository contains all the code and materials distributed in the Q-Programming Summer of Qode. If you want to creat

Sammarth Kumar 11 Jun 11, 2021
使用深度学习框架提取视频硬字幕;docker容器免安装深度学习库,使用本地api接口使得界面和后端识别分离;

extract-video-subtittle 使用深度学习框架提取视频硬字幕; 本地识别无需联网; CPU识别速度可观; 容器提供API接口; 运行环境 本项目运行环境非常好搭建,我做好了docker容器免安装各种深度学习包; 提供windows界面操作; 容器为CPU版本; 视频演示 https

歌者 16 Aug 06, 2022
Human Action Controller - A human action controller running on different platforms.

Human Action Controller (HAC) Goal A human action controller running on different platforms. Fun Easy-to-use Accurate Anywhere Fun Examples Mouse Cont

27 Jul 20, 2022
A computational block to solve entity alignment over textual attributes in a knowledge graph creation pipeline.

How to apply? Create your config.ini file following the example provided in config.ini Choose one of the options below to run: Run with Python3 pip in

Scientific Data Management Group 3 Jun 23, 2022
Train emoji embeddings based on emoji descriptions.

emoji2vec This is my attempt to train, visualize and evaluate emoji embeddings as presented by Ben Eisner, Tim Rocktäschel, Isabelle Augenstein, Matko

Miruna Pislar 17 Sep 03, 2022
QRec: A Python Framework for quick implementation of recommender systems (TensorFlow Based)

Introduction QRec is a Python framework for recommender systems (Supported by Python 3.7.4 and Tensorflow 1.14+) in which a number of influential and

Yu 1.4k Jan 01, 2023
Official implementation of "Watermarking Images in Self-Supervised Latent-Spaces"

🔍 Watermarking Images in Self-Supervised Latent-Spaces PyTorch implementation and pretrained models for the paper. For details, see Watermarking Imag

Meta Research 32 Dec 13, 2022
A novel framework to automatically learn high-quality scanning of non-planar, complex anisotropic appearance.

appearance-scanner About This repository is an implementation of the neural network proposed in Free-form Scanning of Non-planar Appearance with Neura

Xiaohe Ma 14 Oct 18, 2022
This is a collection of all challenges in HKCERT CTF 2021

香港網絡保安新生代奪旗挑戰賽 2021 (HKCERT CTF 2021) This is a collection of all challenges (and writeups) in HKCERT CTF 2021 Challenges ID Chinese name Name Score S

10 Jan 27, 2022
Normalization Calibration (NorCal) for Long-Tailed Object Detection and Instance Segmentation

NorCal Normalization Calibration (NorCal) for Long-Tailed Object Detection and Instance Segmentation On Model Calibration for Long-Tailed Object Detec

Tai-Yu (Daniel) Pan 24 Dec 25, 2022
On Effective Scheduling of Model-based Reinforcement Learning

On Effective Scheduling of Model-based Reinforcement Learning Code to reproduce the experiments in On Effective Scheduling of Model-based Reinforcemen

laihang 8 Oct 07, 2022
PyTorch implementation of the method described in the paper VoiceLoop: Voice Fitting and Synthesis via a Phonological Loop.

VoiceLoop PyTorch implementation of the method described in the paper VoiceLoop: Voice Fitting and Synthesis via a Phonological Loop. VoiceLoop is a n

Meta Archive 873 Dec 15, 2022
banditml is a lightweight contextual bandit & reinforcement learning library designed to be used in production Python services.

banditml is a lightweight contextual bandit & reinforcement learning library designed to be used in production Python services. This library is developed by Bandit ML and ex-authors of Facebook's app

Bandit ML 51 Dec 22, 2022
Start-to-finish tutorial for interactive music co-creation in PyTorch and Tensorflow.js

Start-to-finish tutorial for interactive music co-creation in PyTorch and Tensorflow.js

Chris Donahue 98 Dec 14, 2022
Code for the AI lab course 2021/2022 of the University of Verona

AI-Lab Code for the AI lab course 2021/2022 of the University of Verona Set-Up the environment for the curse Download Anaconda for your System. Instal

Davide Corsi 5 Oct 19, 2022
Res2Net for Instance segmentation and Object detection using MaskRCNN

Res2Net for Instance segmentation and Object detection using MaskRCNN Since the MaskRCNN-benchmark of facebook is deprecated, we suggest to use our mm

Res2Net Applications 55 Oct 30, 2022
This is the replication package for paper submission: Towards Training Reproducible Deep Learning Models.

This is the replication package for paper submission: Towards Training Reproducible Deep Learning Models.

0 Feb 02, 2022
Discover hidden deepweb pages

DeepWeb Scapper Att: Demo version An simple script to scrappe deepweb to find pages. Will return if any of those exists and will save on a file. You s

Héber Júlio 77 Oct 02, 2022
PocketNet: Extreme Lightweight Face Recognition Network using Neural Architecture Search and Multi-Step Knowledge Distillation

PocketNet This is the official repository of the paper: PocketNet: Extreme Lightweight Face Recognition Network using Neural Architecture Search and M

Fadi Boutros 40 Dec 22, 2022