Skip to content

hunterirving/mixapps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

133 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💿 mixapps

mixapps are like mixtapes or mix CDs, but packaged as Progressive Web Apps that you can share with friends and install for offline use.

demo

worn grooves ↗

key features

  • shareable mixes that work offline on iOS, Android, Windows, MacOS, and Linux
  • support for mp3, m4a, ogg, flac, and wav audio formats
  • highly customizable interface (just add CSS!)

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.

modern playlists are platform-locked, often require a paid subscription, and decay as licenses expire.




but our custom of gift-giving can be restored, if we restore the structures that enabled it.

mixapps are digital artifacts. immutable objects that can persist on-device, independent of platforms, contracts, and corporate whim.

once you share one with a friend, it's theirs.

quickstart

  1. serve it

    • 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
      • reorder tracks by dragging them up or down in the list
      • delete tracks with shift + click
  2. build it

    • once you're happy with your mix, run ./build.py and follow the interactive prompts to generate manifest.json and service-worker.js, which enable PWA installation and offline functionality.
  3. ship it

    • upload the entire project directory to any static web host with HTTPS support (GitHub Pages, Neocities, AWS S3, etc.)
  4. share it

    • send the hosted URL to your recipient and walk them through the installation process:
      • iOS (Safari): tap ···ShareView More → scroll down to reveal and tap Add to Home ScreenAdd
      • Android:
        • Firefox: tap ··· More → Add to Home screen → Add to home screen
        • Chrome: tap → Add to Home screen → Install
      • for detailed PWA installation steps for your browser/OS, click here.
    • after the initial download and cache, mixapps work completely offline and behave like native applications ⤵


      (pictured: integration with iOS lockscreen controls)

customization

add your own custom.css, custom.js, and/or album_art.jpg to /mix to customize your mixapp's appearance and behavior.

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.

licenses

this project is licensed under the GNU General Public License v3.0.

the Basteleur font by Keussel (distributed by Velvetyne) is licensed under the SIL Open Font License, version 1.1.

About

mixtapes, resurrected

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages