Song Guessr is a multiplayer game where players compete to identify songs from short audio snippets. Each round challenges players to guess details such as the song title, artist, or album. Points are awarded based on accuracy and speed, making every round an exciting test of musical knowledge and quick thinking.
Currently, the project requires users to self-host both the game server and client.
Rust
for the game's back-endnpm
for the game's front-end- A Premium Spotify account to authorize application access to Spotify Web APIs
Follow these steps to self-host the game
-
Clone the project repository:
git clone https://github.com/aome510/song-guessr.git
-
Install dependencies and build the front-end:
npm install && npm run build
-
Serve the game's website:
npm run preview -- --host
The game's website will be accessible via the network URL.
NOTE: This link can be shared with friends connected to the same network to access the game's website.
-
Build and run the server: open a new terminal tab and execute:
cargo run --release
When running the server for the first time, it will open a web page in your default browser, requesting permission to access your Spotify data (e.g., playlists). You should see a page similar to this:
Click Continue to the app to authorize API access. If you are redirected to a page displaying "Go back to your terminal 😊", the game's server has been successfully set up.
-
Visit the Gameplay section to learn how to create rooms and play the game with your friends.
When you first visit the game's website, you will be prompted to create a user profile.
Once your profile is created, you will be directed to the homepage.
Click Create a new room to generate a game room. You will be redirected to a dedicated room page.
Your friends can join the room using the provided URL (e.g., http://10.253.229.92:4173/room/gjQXhM9M
). The Users section displays all active participants.
Quizzes are generated based on songs from a specific Spotify playlist. Use the search bar to find a playlist of your choice.
You can adjust the number of questions and question types (e.g., song's name, album, artist, etc.). Click New Game to begin.
Each round features a short snippet of a song. Depending on the question type, you must guess the correct song title, artist, or album.
Scores are based on accuracy and response time. Additionally, bonus points are awarded to the fastest correct answer.
Build and run game's server in a debug mode:
cargo run
Install the front-end dependencies:
npm install
Run the game's website in development mode:
npm run dev -- --host