{"id":24880691,"url":"https://github.com/guidasneves/spotify_recsys","last_synced_at":"2026-05-20T07:35:07.592Z","repository":{"id":275202077,"uuid":"925011937","full_name":"guidasneves/spotify_recsys","owner":"guidasneves","description":"End-to-end Spotify recommendation system","archived":false,"fork":false,"pushed_at":"2025-03-05T16:16:12.000Z","size":5181,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T06:16:14.827Z","etag":null,"topics":["ai","artificial-intelligence","content-based-filtering","data-science","deep-learning","machine-learning","recommender-system","recsys","tensorflow"],"latest_commit_sha":null,"homepage":"https://medium.com/@guineves.py/spotify-tracks-recommender-system-with-deep-learning-45d1bb3d3788","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guidasneves.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-31T03:49:07.000Z","updated_at":"2025-03-05T16:16:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"1adf946d-5fec-4c2f-8d43-6f8f97cfa232","html_url":"https://github.com/guidasneves/spotify_recsys","commit_stats":null,"previous_names":["guidasneves/spotify_recsys"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/guidasneves/spotify_recsys","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidasneves%2Fspotify_recsys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidasneves%2Fspotify_recsys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidasneves%2Fspotify_recsys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidasneves%2Fspotify_recsys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guidasneves","download_url":"https://codeload.github.com/guidasneves/spotify_recsys/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidasneves%2Fspotify_recsys/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266261119,"owners_count":23901284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","artificial-intelligence","content-based-filtering","data-science","deep-learning","machine-learning","recommender-system","recsys","tensorflow"],"created_at":"2025-02-01T11:19:11.323Z","updated_at":"2026-05-20T07:35:07.580Z","avatar_url":"https://github.com/guidasneves.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"1\"\u003e\u003c/a\u003e\n# End-to-End Spotify Recommender System (Sistema de Recomendação Spotify de Ponta a Ponta)\n\u003cimg align='center' src='./figures/content-based-filtering.png' style='width:800px;'\u003e\n\n**[EN-US]**\n\n* **Medium article** about this project in English: [Spotify Tracks Recommender System with Deep Learning](https://medium.com/@guineves.py/45d1bb3d3788);\n* Complete code for this project, with all detailed explanations in English and Portuguese: [notebooks](./notebooks);\n* Complete scripts for this project in English and Portuguese: [src](./src/).\n\n**[PT-BR]**\n\n* **Artigo no Medium** desse projeto em inglês: [Spotify Tracks Recommender System with Deep Learning](https://medium.com/@guineves.py/45d1bb3d3788);\n* Códigos completos desse projeto, com todas as explicações detalhas em inglês e em português: [notebooks](./notebooks);\n* Scripts completos desse projeto em inglês e em português: [src](./src/).\n\n\u003ca name=\"2\"\u003e\u003c/a\u003e\n## About\n**[EN-US]**\n\nThis repository contains the implementation of a Spotify music recommendation system with the Content-Based Filtering algorithm using Deep Learning.\n\nThe system was created end-to-end, that is, from the connection and authorization with the [Spotify API](https://developer.spotify.com/), extraction of data from the API, performing exploratory analysis and pre-processing of the data, definition of the model and inference, given the recommended songs, they are added to a Spotify playlist.\n\nThe Content-Based Filtering algorithm was created using the [tensorflow](https://www.tensorflow.org/?hl=pt-br) framework.\n\n**[PT-BR]**\n\nEsse repositório contêm a implementação de um sistema de recomendação de músicas do Spotify com o algoritmo Content-Based Filtering utilizando Deep Learning.\n\nO sistema foi criado de ponta a ponta, ou seja, desde a conexão e autorização com a [API do Spotify](https://developer.spotify.com/), extração dos dados da API, realização da análise exploratória e do pré-processamento dos dados, definição do modelo e inferência, dada as músicas recomendadas, elas são adicionadas em uma playlist do Spotify.\n\n\u003cimg align='center' src='./figures/architecture.drawio.png' style='width:800px;'\u003e\n\nO algoritmo do Content-Based Filtering foi criado utilizando o framework [tensorflow](https://www.tensorflow.org/?hl=pt-br).\n\n\u003ca name=\"3\"\u003e\u003c/a\u003e\n## Table of Contents\n* [End to End Spotify Recommender System](#1)\n* [About](#2)\n* [Table fo Contents](#3)\n* [Setup](#4)\n   * [Dependenceis](#4.1)\n   * [Install](#4.2)\n   * [Environment Variables](#4.3)\n* [Run](#5)\n\n\u003ca name=\"4\"\u003e\u003c/a\u003e\n## Setup\n\u003ca name=\"4.1\"\u003e\u003c/a\u003e\n### Dependencies (Dependências)\n* [python](https://www.python.org/)\n\n\u003ca name=\"4.2\"\u003e\u003c/a\u003e\n### Install\n```terminal\ngit clone https://github.com/guidasneves/spotify_recsys.git\npython -m pip install -r requirements.txt\n```\n\n\u003ca name=\"4.3\"\u003e\u003c/a\u003e\n### Environment Variables (Variáveis de Ambiente)\n**[EN-US]**\n\nDefinition of environment variables in the `.env` file, necessary for the system to run.\n```text\nCLIENT_ID_SPOTIFY:\"the client ID generated after registering your application\"\nCLIENT_SECRET_SPOTIFY:\"the client secret generated after registering your application\"\n```\n\n**[PT-BR]**\n\nDefinição das variáveis de ambiente no arquivo `.env`, necessárias para a execução do sistema.\n```text\nCLIENT_ID_SPOTIFY:\"o cliente ID gerado após registrar seu aplicativo\"\nCLIENT_SECRET_SPOTIFY:\"o client secret gerado após o registro do seu aplicativo\"\n```\n\n\u003ca name=\"5\"\u003e\u003c/a\u003e\n## Run\n**[EN-US]**\n\nAll scripts are inside the [src](./src/), `./scr/` directory. Use Jupiter Notebooks in the [notebooks](./notebooks/), `./notebooks/`, directory with the complete system explanation of each step and the complete code for each step.\n\nNotes:\n* Spotify has removed the feature to extract the features of each track from the API.\n\n**[PT-BR]**\n\nTodos os scripts estão dentro do diretório [src](./src/), `./scr/`. Use os Jupiter Notebooks no diretório [notebooks](./notebooks/), `./notebooks/`, com a explicação completa do sistema de cada etapa e o código completo de cada etapa.\n\nNotas:\n* O Spotify removeu o feature para extrair as features de cada track da API.\n\u003cimg align='center' src='./figures/track-features.png' style='width:800px;'\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguidasneves%2Fspotify_recsys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguidasneves%2Fspotify_recsys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguidasneves%2Fspotify_recsys/lists"}