update readme, reamde_images
Hunter
Wednesday, May 20th, 2026 at 5:51 PM
1 # 💿 mixapps
2
-mixapps are like mixtapes or mix CDs, but packaged as <a href="https://hunterirving.github.io/web_workshop/pages/pwa">Progressive Web Apps</a> that you can share with friends and install for offline use.
3 +mixapps are like mixtapes or mix CDs, but packaged as <a href="https://hunterirving.github.io/web_workshop/pages/pwa">Progressive Web Apps</a> that you can install for offline use.
4
5 <p align="center">
6 <img src="readme_images/collection.jpeg" width="550">
7 </p>
8
9 ## demo
10 +<p align="center">
11 <a href="https://hunterirving.com/worn_grooves/">worn grooves ↗</a>
12 +<br>(public domain recordings)
13 +</p>
14
15 ## key features
-- shareable mixes that work offline on iOS, Android, Windows, MacOS, and Linux
16 +- installable mixes that work offline on iOS, Android, Windows, MacOS, and Linux
17 - support for `mp3`, `m4a`, `ogg`, `flac`, and `wav` audio formats
18 - highly customizable interface (just add CSS!)
19
22 </p>
23
24 ## own something and be happy
-in the transition from physical mixtapes to cloud-hosted playlists, we stopped giving each other digital things.
-
-these days, we mostly point to things that we don't control.
25
26 modern playlists are platform-locked, often require a paid subscription, and decay as licenses expire.
27
28 +these days, we mostly point to things that we don't control.
29
30 <p align="center">
31 <br><img src="readme_images/sorry.gif" width="600"><br><br>
32 </p>
33
-
-but our custom of gift-giving can be restored, if we restore the structures that enabled it.
34 +<hr><br>
35
36 mixapps are digital artifacts. immutable objects that can persist on-device, independent of platforms, contracts, and corporate whim.<br><br>
37
-once you share one with a friend, it's theirs.<br><br>
38 +once you install one, it's yours.<br><br>
39 +
40 +> [!IMPORTANT]
41 +> mixapps make it easy to host audio on the public internet. hosting content you don't have the right to distribute is copyright infringement, even when shared privately with a friend or framed as a gift. fair use and backup exceptions cover personal copies, not public hosting.
42 +>
43 +> before uploading, ensure you have the right to distribute the files you include in `/mix`. this can include your own recordings, public-domain works, creative commons releases, or material you've licensed from the rights holder.
44
45 ## quickstart
46 1. **serve it**
47 - run `./serve.py` to start a development server. while the server is running, you can:
- - **add new tracks** by moving audio files into the `/mix` directory, dragging them into the browser window, running `./rip.py` to rip tracks from a physical CD, or running `./buy.py` to buy tracks on iTunes
48 + - **add new tracks** by moving audio files into the `/mix` directory, dragging them into the browser window, running `./rip.py` to rip tracks from a physical CD, or running `./buy.py` to buy tracks on iTunes (both are fine to use locally; check distribution rights before hosting publicly)
49 - **reorder tracks** by dragging them up or down in the list
50 - **delete tracks** with `shift + click`
51
56 - upload the entire project directory to any static web host with HTTPS support (GitHub Pages, Neocities, AWS S3, etc.)
57
58 4. **share it**
- - send the hosted URL to your recipient and walk them through the installation process:
59 + - once it's hosted, anyone can install your mixapp by opening the URL and following their browser's PWA installation steps:
60 - **iOS (Safari)**: tap `···` → `Share` → `View More` → scroll down to reveal and tap `Add to Home Screen` → `Add`
61 - **Android**:
62 - **Firefox**: tap `⋮` → `··· More` → Add to Home screen → Add to home screen
69 ## customization
70 add your own `custom.css`, `custom.js`, and/or `album_art.jpg` to `/mix` to customize your mixapp's appearance and behavior.
71
-## intellectual property notice
-ensure you have the right to distribute any media files you include in public mixapps. 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.
-
72 ## licenses
73 this project is licensed under the <a href="LICENSE">GNU General Public License v3.0</a>.
74
Binary files differ.
Binary files differ.