Skip to content

Commit 331edb3

Browse files
README Update
1 parent 1d967d4 commit 331edb3

1 file changed

Lines changed: 94 additions & 15 deletions

File tree

README.md

Lines changed: 94 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,112 @@
11
# Spotifort
22

3-
Match your Spotify Liked Songs against the [Treefort Music Fest 2026](https://treefortmusicfest.com/) lineup. Find out which artists you already love are playing in Boise this March.
3+
<p align="center">
4+
<img src="public/spotifort_transparent.png" alt="Spotifort Logo" width="200">
5+
</p>
46

5-
**This project is not affiliated with, endorsed by, or associated with Treefort Music Fest or Spotify.** This is an independent, open-source community tool built by an enthusiast.
7+
<p align="center">
8+
<strong>Find which artists you love are playing Treefort 2026</strong>
9+
</p>
10+
11+
<p align="center">
12+
<a href="https://spotifort.com">spotifort.com</a> · <a href="https://spotifort.com/setup">Setup Guide</a> · <a href="https://spotifort.com/lineup">Full Lineup</a>
13+
</p>
14+
15+
---
16+
17+
## What Is This?
618

7-
## Status
19+
Spotifort matches your Spotify Liked Songs against the [Treefort Music Fest 2026](https://treefortmusicfest.com/) lineup (March 25–29, Boise, Idaho). Connect your Spotify account and instantly see which artists you already like that are playing the festival.
820

9-
🚧 Under active development — targeting launch before Treefort 2026 (March 25–29).
21+
## Privacy First
22+
23+
All processing happens **client-side in your browser**. Spotifort has no backend, no database, no analytics, no cookies, and no tracking. Your Spotify data never leaves your device. When you close the tab, everything is gone.
1024

1125
## How It Works
1226

13-
1. You authenticate with Spotify using your own credentials (PKCE flow — no server, no data stored)
14-
2. Spotifort pulls your Liked Songs and compares artists against the Treefort 2026 lineup
15-
3. You get a list of matches — artists you already like who are playing the festival
27+
1. Create a free Spotify Developer app ([setup guide](https://spotifort.com/setup))
28+
2. Paste your Client ID into Spotifort
29+
3. Authorize with Spotify (read-only access to your Liked Songs)
30+
4. See your matches
31+
32+
### Why Do I Need a Client ID?
33+
34+
Spotify's [February 2026 API changes](https://developer.spotify.com/blog/2026-02-06-update-on-developer-access-and-platform-security) restrict Development Mode apps to 5 authorized users. Rather than limiting Spotifort to 5 people, each user creates their own Spotify Developer app — making you user #1 on your own app. This is the only way an independent, open-source project can work within Spotify's current restrictions.
35+
36+
**Requirements:**
37+
- Spotify Premium account (required by Spotify for Developer Mode)
38+
- A desktop/laptop computer to create the Developer app (Spotify's dashboard doesn't work on mobile)
39+
- Once set up, Spotifort works on any device
1640

17-
All processing happens client-side in your browser. No personal data is stored, transmitted, or logged.
41+
## Lineup Data
42+
43+
The Treefort lineup is maintained as a static JSON file sourced from the [official Treefort website](https://treefortmusicfest.com/lineup/) and cross-referenced with Spotify's catalog. It is updated manually and may not reflect last-minute changes.
44+
45+
You can view the full lineup data, including which artists are and aren't on Spotify, at [spotifort.com/lineup](https://spotifort.com/lineup).
1846

1947
## Tech Stack
2048

21-
- Vanilla JS + Vite
22-
- Spotify Web API (PKCE auth)
23-
- Hosted on Cloudflare Pages
49+
- Vanilla JavaScript
50+
- [Vite](https://vitejs.dev/) build tool
51+
- [Spotify Web API](https://developer.spotify.com/documentation/web-api) with PKCE authentication
52+
- Hosted on [Cloudflare Pages](https://pages.cloudflare.com/)
2453

25-
## License
54+
## Development
2655

27-
MIT — see [LICENSE](LICENSE) for details.
56+
```bash
57+
# Clone the repo
58+
git clone https://github.com/commitconfirm/spotifort.git
59+
cd spotifort
60+
61+
# Install dependencies
62+
npm install
63+
64+
# Create your env file with your Spotify Client ID
65+
echo "VITE_SPOTIFY_CLIENT_ID=your_client_id_here" > .env.local
66+
67+
# Start dev server (runs on port 9090)
68+
npm run dev
69+
70+
# Build for production
71+
npm run build
72+
```
73+
74+
### Updating Lineup Data
75+
76+
```bash
77+
# Regenerate lineup.json from Treefort website + Spotify search
78+
# Prompts for a Spotify access token
79+
node scripts/fetch-lineup.js
80+
81+
# Add genre data to existing lineup.json
82+
node scripts/add-genres.js
83+
```
2884

2985
## Disclaimer
3086

31-
Use at your own risk. No guarantees of accuracy or availability. Lineup data is manually maintained and may not reflect the most current information. This is free and open-source software (FOSS).
87+
**This project is not affiliated with, endorsed by, or associated with Treefort Music Fest or Spotify.** This is an independent, open-source community tool built by an enthusiast.
88+
89+
Use at your own risk. No guarantees of accuracy or availability. Lineup data is manually maintained and may not reflect the most current information.
90+
91+
## Contributing
92+
93+
Contributions are welcome. If you find an artist missing from the lineup or matched incorrectly, open an issue. If you want to add a feature, check the issues or open a discussion first.
94+
95+
## Built With
96+
97+
This project was built with [Claude Code](https://claude.ai/code) by Anthropic.
98+
99+
## Contributors
100+
101+
- [commitconfirm](https://github.com/commitconfirm) — creator and maintainer
102+
- [Claude Code](https://claude.ai/code) — AI pair programmer
103+
104+
## License
105+
106+
MIT — see [LICENSE](LICENSE) for details.
107+
108+
---
32109

33-
Built with [Claude Code](https://claude.ai/code) | [commitconfirm.com](https://commitconfirm.com)
110+
<p align="center">
111+
<a href="https://commitconfirm.com">commitconfirm.com</a>
112+
</p>

0 commit comments

Comments
 (0)