FindMySound is a React-based web application that connects to a user's Spotify account to recommend new music.
The app helps users discover tracks outside of their regular algorithmic suggestions by analyzing their Spotify listening habits and generating fresh recommendations.
Features include:
- Secure Spotify login via OAuth
- Track recommendations based on top artists or genres
- Direct links to preview or open tracks in Spotify
- Option to save discovered songs to your own playlist
-
Clone this repository:
git clone https://github.com/andrewpols/FindMySound -
Navigate into the project directory and install dependencies:
cd FindMySound npm install -
Navigate to
FindMySound/config/.envand input your Spotify Web API credentials (required).
To obtain your Spotify API credentials, you’ll need to register an application at https://developer.spotify.com/dashboard/.
The Django backend first needs some configuration:
This project uses SQLite by default. The db.sqlite3 file is not included in the repository, so you'll need to initialize a fresh database.
To do this, navigate to the root directory and run:
python manage.py migrate
Then, you may create a superuser with:
python manage.py createsuperuser
Finally, start the backend server by running:
python manage.py runserver
Start the development server (React + Vite) with:
npm run dev
Then open your browser to http://localhost:5173.
On launch, the app will prompt you to log in with Spotify.
After authentication:
- View and toggle your Spotify playlists for recommendation
- View personalized music recommendations
- Upload playlist recommendations to your Spotify account