just mixapps. it's cleaner.

Hunter
Monday, December 22nd, 2025 at 1:36 PM

generate_manifests.py+3-3
host.py+1-1
index.html+1-1
readme.md+5-5
rip.py+1-1

generate_manifests.py
 22  
 23  	# Get app name
 24  	if localhost:
    -		app_name = input("Enter a name for your mixapp (or press Return/Enter for 'vibe capsule'): ").strip()
 25 +		app_name = input("Enter a name for your mixapp (or press Return/Enter for 'my mixapp'): ").strip()
 26  		if not app_name:
    -			app_name = "vibe capsule"
 27 +			app_name = "my mixapp"
 28  			print(f"Using default: {app_name}")
 29  	else:
 30  		app_name = input("Enter a name for your mixapp: ").strip()

108  	# Derived values
109  	short_name = app_name
110  	cache_name = app_name
    -	app_description = f"{app_name} ยท vibe capsule"
111 +	app_description = f"{app_name}"
112  
113  	print("Generating PWA manifests...")
114  
host.py
152  			network_url = f"http://{local_ip}:{port}"
153  
154  			print("=" * 60)
    -			print("๐Ÿ’ฟ vibe capsule")
155 +			print("๐Ÿ’ฟ mixapps")
156  			print("=" * 60)
157  			print(f"\nServer running on port {port}")
158  
index.html
 9  	<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
10  	<link rel="apple-touch-icon" href="resources/icon.png">
11  	<link rel="manifest" href="manifest.json">
   -	<title>vibe capsule</title>
12 +	<title>my mixapp</title>
13  	<link rel="stylesheet" href="resources/styles.css">
14  </head>
15  <body>
readme.md
   -# ๐Ÿ’ฟ vibe capsule
 1 +# ๐Ÿ’ฟ mixapps
 2  
 3  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.
 4  

42  	- run `scan.py` to parse `/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.
43  	- optionally, add  an `album_art.jpg` to `/tracks` to set the cover art for your mix.
44  
   -3. **soundcheck**
45 +2. **soundcheck**
46  	- run `host.py` to start a local HTTP server for testing. you can scan the QR code printed to the terminal to test the app from any device on your local network.
47  
   -4. **manifesting**
48 +3. **manifesting**
49  	- run `generate_manifests.py` and follow the interactive prompts to specify an app name and the remote server path where your app will be hosted.
50  		- this creates the config files that enable offline functionality: `manifest.json`, `resource-manifest.json`, and `service-worker.js`.
51  
   -5. **ship it**
52 +4. **ship it**
53  	- upload the entire project directory to any web host with HTTPS support (GitHub Pages, AWS S3, etc.)
54  
   -6. **share your mixapp**
55 +5. **share your mixapp**
56  	- send the hosted URL to your recipient and walk them through the installation process:
57  		- **iOS (Safari)**: tap `ยทยทยท` โ†’ Share โ†’ More โ†’ Add to Home Screen โ†’ Add
58  		- **Android**:
rip.py
259  def rip_cd():
260  	"""Main function to rip CD to MP3 files"""
261  	print("=" * 60)
    -	print("๐Ÿ’ฟ vibe capsule - CD Ripper")
262 +	print("๐Ÿ’ฟ mixapps - CD Ripper")
263  	print("=" * 60)
264  
265  	# Check for ffmpeg