Skip to content

Commit 08155a1

Browse files
committed
Updated README and added previews
1 parent 96083e0 commit 08155a1

3 files changed

Lines changed: 87 additions & 3 deletions

File tree

README.md

Lines changed: 87 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,88 @@
1-
# :musical_note: :mag: Discovraphy
2-
A web application for discovering new music based on a provided song or parameters. Aims to streamline the process of finding and adding new music to playlists by adopting the swiping approach found in many dating apps.
1+
<h1 align="center"><img src="src/assets/discovraphy_logo.svg" height="100"></h1>
32

4-
Currently a work in progress :smile:
3+
Discovraphy is a web application that lets you browse and discover new music by swiping through an artist's discography. It streamlines the process of listening to a series of tracks and adding the ones you like to your library or a playlist by using the swipe-based interface inspired by modern dating apps.
4+
5+
While listening to new releases or exploring an artist's catalog on Spotify, I frequently find new tracks that pique my interest, which I add to my "Trial" playlist for further consideration. But I found right-clicking, selecting "Add to playlist" and then searching for the correct playlist to be mildly disruptive to my listening experience. I thought to myself, this doesn't need to be so hard (and I wanted an excuse to learn some frontend development and React), so I created Discovraphy.
6+
7+
>[!NOTE]
8+
> Spotify Premium is required to use Discovraphy.
9+
10+
11+
## Preview
12+
<img src="src/assets/preview.gif">
13+
14+
## Features
15+
- Responsive layout
16+
- Dark/light mode
17+
- Spotify integration
18+
- Search for artists
19+
- Browse artist's albums and filter by type
20+
- Save tracks to your library or add them to a playlist
21+
- Swipe through tracks using mouse, keyboard, or touch gestures
22+
- Playback controls: play, pause, next, previous, seek, adjust volume
23+
24+
## Getting Started
25+
If you want to try out Discovraphy you have two options:
26+
### Option 1: Request Access
27+
To interact with Spotify, Discovraphy relies on the [Spotify Web API](https://developer.spotify.com/documentation/web-api) and [Web Playback SDK](https://developer.spotify.com/documentation/web-playback-sdk) and is in [development mode](https://developer.spotify.com/documentation/web-api/concepts/quota-modes) with no plans to move to extended quota mode. As of February 2026, development mode allows a maximum of 5 Spotify users to authenticate with Discovraphy.
28+
29+
There are currently 5 free spots. If you would like to claim one of them, send an email to dylanpitherdev@gmail.com with the name and email associated with your Spotify account.
30+
31+
### Option 2: Self-Host
32+
To clone and run Discovraphy you will need [Git](https://git-scm.com/), [Node.js](https://nodejs.org/en/download) v24+ and a Spotify account with Spotify Premium.
33+
34+
#### 1. Clone the repository
35+
``` bash
36+
git clone https://github.com/dpither/discovraphy.git
37+
```
38+
#### 2. Navigate to the repository
39+
``` bash
40+
cd discovraphy
41+
```
42+
#### 3. Install dependencies
43+
``` bash
44+
npm install
45+
```
46+
#### 4. Create a Spotify app
47+
Go to the [Spotify developer dashboard](https://developer.spotify.com/dashboard) and click "Create app"
48+
>[!NOTE]
49+
>As of February 2026, a Spotify account is limited to one app.
50+
51+
Under "Redirect URIs" enter:
52+
``` bash
53+
http://127.0.0.1:3000/discovraphy/callback
54+
```
55+
Under "Which API/SDKs are you planning to use?", check Web API and Web Playback SDK.
56+
57+
Fill in the rest of the form with whatever you like and click "Save".
58+
59+
The Client ID needed for the next step can be found under Basic Information.
60+
#### 5. Setup environment variables
61+
``` bash
62+
cp .env.example .env
63+
```
64+
Edit the created `.env` file use your app's Client ID.
65+
#### 6. Build the project
66+
``` bash
67+
npm run build
68+
```
69+
#### 7. Run the application
70+
```
71+
npm run preview
72+
```
73+
You now have a local instance of discovraphy running at http://127.0.0.1:3000/discovraphy/.
74+
75+
## Tech Stack
76+
- Language: TypeScript
77+
- Framework: React
78+
- Styling: Tailwind CSS
79+
- Routing: React Router
80+
- State Management: Zustand
81+
- Animations: Motion
82+
- Build Tool: Vite
83+
84+
## Roadmap
85+
Due to increasing restrictions and reducing capabilities of the Spotify API for development mode, further development on this project will be unlikely outside of some quality of life updates such as:
86+
- Pagination of form results (especially artists search since the limit is being reduced from 50 to 10)
87+
- Option to create a new playlist when selecting a destination
88+
- Graceful handling and recovery from rate limits (under normal conditions, I have not found this to be an issue yet)

src/assets/preview.gif

13.6 MB
Loading

src/assets/preview.mp4

6.09 MB
Binary file not shown.

0 commit comments

Comments
 (0)