This project develops a cryptocurrency recommendation engine (https://www.coinrex.org), which recommends cryptocurrency projects for users based on what they want to invest in.
Data for the recommendation engine was acquired online from the following sources:
In addition, recommendations provided a link to project whitepapers (if readily available), which were sourced from:
The data processing and analysis steps of the pipeline are described more in-depth on the "How it works" section of the website, but here is an outline of the process that indicates the files used in each step.
- Data Acquisition: Relevant information from these sources was gathered via APIs and scraping using functions in the
acquisition.py
file, and is stored in intermediate files in the coin_data folder. - Data Processing and Analysis: Data from each source was processed by functions in the
feature_matrix.py
file. When this involves non-trivial processing of text (i.e., project descriptions), functions intext_analysis.py
are also used. - Feature Matrix Construction: The feature matrix was constructed from processed data using the
build_feature_matrix()
function and stored as a JSON file. Relevant information included with each recommendation (i.e., project links and whitepapers) is also stored in a JSON created by thecreate_recommendation_json()
function. Both of these functions are also in thefeature_matrix.py
file. - Finding Recommendations: The recommendation engine may be tested using the
find_recs()
function in therecommendations.py
file. For each recommendation, the relevant information to provide to the user may also be accessed with theread_recommendation_json()
function. - Visualization: Data visualization helped inform the other steps of the pipeline, and some examples are included on the website. The code for this is included in the
visualizations.py
file.