An open API service indexing awesome lists of open source software.

https://github.com/max0ne/twinkeydow

it recommends github repos
https://github.com/max0ne/twinkeydow

aws-lambda collaborative-filtering github mongodb numpy python react recommendation-system serverless typescript

Last synced: 10 months ago
JSON representation

it recommends github repos

Awesome Lists containing this project

README

          

[![Build Status](https://circleci.com/gh/max0ne/twinkeydow/tree/master.svg?style=shield
)](https://circleci.com/gh/max0ne/twinkeydow/tree/master) ![License](https://img.shields.io/github/license/mashape/apistatus.svg)

# Project Twinkeydow

It provides customized Github repo recommendations, based on your previous activities on Github. It works by pulling large number of public Github user data from [Github Public Event API](https://developer.github.com/v3/activity/events/), modeling each Github repo by [model based collaborative filtering](https://en.wikipedia.org/wiki/Collaborative_filtering#Model-based) and provide customized recommendations.

## Structure

The code mainly does 5 things

| wat | deployed to | tools | wat exactly |
| - |-|-|-|
| [Gathering Data](./github_repo_puller) | AWS EC2 | Node.js | Querying Github API for public activity |
| [Modeling](./als_thing/compute_feature_vector.ipynb) | AWS EMR | Python, Spark | CF modeling stuff given bunch of data to train with |
| [Predicting](./api/sim_repo) | AWS Lambda | Python, Serverless | KNN over repo feature vectors with NumPy |
| [API Hosting](./api/node) | AWS Lambda | TypeScript, Node.js, Serverless | generic web API services, handle misc stuff like OAuth, user authentication |
| [UI](./front) | Github Pages / S3 | React, CSS, Semantic UI | UI stuff |