commit c8fc1d53886edca0d076d7088b33f4bc19f4860f
parent 4ba1ea0a88af38f11dfcbeda01b1f49b0be7a02a
Author: Hunter
Date: Sun, 9 Nov 2025 00:18:25 -0500
update readme.md
Diffstat:
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/generate_manifests.py b/generate_manifests.py
@@ -10,7 +10,7 @@ from pathlib import Path
# Configuration - Edit these for your deployment
BASE_PATH = "/vibe_capsule/" # Path where this PWA will be hosted (e.g., "/" for root, "/my-playlist/" for subdirectory)
-APP_NAME = "vibe capsule"
+APP_NAME = "worn grooves"
# Derived values (can be manually overridden if desired)
SHORT_NAME = APP_NAME
diff --git a/readme.md b/readme.md
@@ -1,14 +1,14 @@
# 💿 vibe capsule
-turn a folder of .mp3 files into a progressive web app, resurrecting the lost art of <a href="https://ihavethatonvinyl.com/liner-notes/the-lost-art-of-the-mixtape/">mixtape</a><a href="https://melos.audio/blogs/information/the-lost-art-of-the-mixtape">-making</a>.
+resurrect the lost art of <a href="https://ihavethatonvinyl.com/liner-notes/the-lost-art-of-the-mixtape/">mixtape</a><a href="https://melos.audio/blogs/information/the-lost-art-of-the-mixtape">-making</a> by packaging folders of .MP3s as progressive web apps.
<img src="readme_images/collection.jpeg" width="550">
-## live demo
+## demo
<a href="https://hunterirving.com/vibe_capsule">public domain beats to code to ↗</a>
## key features
-- playlists as self-contained apps that work completely offline on Windows, MacOS, Linux, iOS, and Android
+- mixtapes as self-contained apps that work completely offline on Windows, MacOS, Linux, iOS, and Android
- lock screen media controls (iOS & Android)
- keyboard media key support (▶️, ⏸️, ⏭️, ⏮️)
- highly customizable interface (just add CSS)
@@ -26,14 +26,15 @@ but digital things can be gifts too, if we preserve the gift-giving structure.
this project aims to resurrect what made mixtapes meaningful: permanence, ownership, and intention. when you gift someone a vibe capsule, you're giving them a digital artifact. something that can persist on their device independent of platforms, algorithms, or corporate whim.
-it's **yours** and then it's **theirs**.
+it's yours, and then it's theirs.
## quickstart
-1. **add your .mp3 files** to the `/tracks` directory
+1. **add your .MP3 files** to the `/tracks` directory
- you can do this manually or run `rip.py` to rip tracks from a physical CD
2. **give it a listen**
- - `scan.py` reads the contents of `/tracks` to populate `tracks.json`, which defines the songs that will be available to the player. after running `scan.py` once, you can manually edit `tracks.json` to refine your mix.
- - `host.py` starts a local HTTP server for testing. scan the QR code printed to the terminal to access your playlist from any device on your local network.
+ - run `scan.py` to parse the contents of `/tracks` and populate `tracks.json`, which defines the songs available to the player. after running `scan.py` once, you can manually edit `tracks.json` to refine your mix.
+ - run `host.py` to start a local HTTP server for testing. scan the QR code printed to the terminal to test the app from any device on your local network.
+
3. **build the PWA**
- in `generate_manifests.py`, update the following variables:
```python
@@ -52,9 +53,9 @@ it's **yours** and then it's **theirs**.
<img src="readme_images/lock_screen.jpeg" width="275">
## intellectual property notice
-ensure you have the right to distribute any media files you include in public vibe capsules. personal archival backups are for your own use. sharing them with others, even as a gift, is not covered by fair use or backup exceptions.
+always ensure you have the right to distribute any media files you include in public vibe capsules. personal archival backups are for your own use. sharing them with others, even as a gift, is not covered by fair use or backup exceptions.
-it may have looked like i winked just now, but i assure you, i did not. that was a blink. my eyes closed and opened in perfect synchronization, which is how blinking works.
+it may have looked like i winked just now, but that was a blink. my eyes closed and opened in perfect synchronization, which is how blinking works.
## license
<a href="LICENSE">GNU GPLv3</a>
\ No newline at end of file