https://github.com/Gudsfile/tracksy
👀 tracksy - Visualize your data
https://github.com/Gudsfile/tracksy
astro data duckdb duckdb-wasm hacktoberfest privacy-first
Last synced: about 1 month ago
JSON representation
👀 tracksy - Visualize your data
- Host: GitHub
- URL: https://github.com/Gudsfile/tracksy
- Owner: Gudsfile
- License: mit
- Created: 2024-11-27T20:53:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-05-17T07:10:46.000Z (about 1 month ago)
- Last Synced: 2026-05-17T09:17:53.930Z (about 1 month ago)
- Topics: astro, data, duckdb, duckdb-wasm, hacktoberfest, privacy-first
- Language: TypeScript
- Homepage: https://gudsfile.github.io/tracksy/
- Size: 45.2 MB
- Stars: 7
- Watchers: 0
- Forks: 8
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Tracksy
**Visualize and understand how you listen to music, without sharing your data.**
The same old song? Late at night? Only in summer? Tracksy helps you answer these questions.
[](https://github.com/withastro/astro) [](https://github.com/duckdb/duckdb) [](https://huggingface.co/datasets/tracksy/synthetic-datasets)
[](./LICENSE) [](https://github.com/gudsfile/tracksy/actions/workflows/app-deploy-live.yml) [](https://github.com/gudsfile/tracksy/actions/workflows/datasets-generate-synthetic.yml)

---
Tracksy is a **privacy-first** music streaming data visualization tool. All processing happens in your browser. Your data never leaves your device.
- 🎵 Supports **Spotify** and **Deezer** streaming history
- 🦆 Powered by **DuckDB WASM**: SQL in the browser, zero server
- 🔒 **No account. No upload. No tracking.**
## Usage
### ⬇️ Download your data
**You can skip this step** and use the demo button on the home page to explore with pre-generated data.
Or bring your own data:
Spotify
1. Request your data on [your Spotify account](https://www.spotify.com/account/privacy/)
- Select "_Extended streaming history_"
- Click "_Request data_"
- **Confirm** via the email from Spotify
2. Wait a few days
3. Download the `.zip` file from the email
Deezer
1. Request your data on [your Deezer account](https://www.deezer.com)
- Go to "_Account settings_"
- Scroll to "_My personal data_"
- Click "_Request my data_"
- **Confirm** by entering the code sent by email
2. Wait a few days
3. Download the `.xlsx` file from the email
### 🚀 Upload your data
Go to [Tracksy](https://gudsfile.github.io/tracksy/) and upload your file, or hit the demo button.
Your data stays local. Nothing is sent anywhere. You can also [self-host Tracksy](#installation).
### 👀 Visualize your data
Once uploaded, explore your listening habits across four views:
| View | Description |
|------|-------------|
| ✨ **Simple** | Curated and guided overview of your listening data |
| 🔬 **Lab** | Experimental insights and advanced visualizations |
| 💬 **Chat** | Conversational exploration using a built-in LLM |
| ⌨️ **Query** | Direct SQL-based exploration of the dataset |
## Project Structure
```text
/
├── app/ # Astro + React frontend (DuckDB WASM)
├── blog/ # Hugo static blog (ADRs and technical notes)
├── e2e/ # Playwright end-to-end tests
└── synthetic-datasets/ # Python scripts for generating test data
```
| Directory | Description |
|-----------|-------------|
| [`app/`](app/) | Frontend. DuckDB WASM processes data client-side; nothing reaches a server. |
| [`blog/`](blog/) | Static blog with architectural decision records. |
| [`e2e/`](e2e/) | End-to-end test suite built with Playwright. |
| [`synthetic-datasets/`](synthetic-datasets/) | Generates synthetic Spotify/Deezer streaming histories for testing. |
## Installation
```bash
moon setup # download Node.js, Python, and dependencies
moon run app:dev # start the dev server
```
More details in the [CONTRIBUTING.md development section](CONTRIBUTING.md#development).
## Roadmap
Tracksy is under active development. On the horizon:
- More visualizations and a simplified view for non-technical users
- Support for additional data sources (Apple Music, Funkwhale, etc.)
See [open issues](https://github.com/Gudsfile/tracksy/issues) for the full list.
## Contributing
Contributions are welcome! Open an issue or a pull request (read [CONTRIBUTING.md](CONTRIBUTING.md) first).
If you would like to be added to or removed from the contributors list, feel free to open an issue or a PR.

Tarek Touati

Benjamin

noancloarec

Jean-Phi Baconnais

Arthur Lutz