Introducing Swing music player 🎵 - Make listening to music fun again 🎉🎊
Tags: python, vue, music, selfhosted
Published: 2023-01-17 17:17:06


![A sample artist page banner](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3h6ys13yh5l0u6s2b590.png)
<figcaption>A sample artist page banner</figcaption>

<br>
Back in december 2021, I stopped looking for the perfect music player and decided to build it myself. I am a music enthusiast and collecter, so my library grows over time. I have accumulated quite a surreal number of music files over the years (18k+). I initially used Audacious because it’s simple and fast, but I eventually got tired of manually doing everything. That is, creating m3u playlists, finding music using the file manager, creating mixes and the rest.

![Sample artist albums](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ba2230iz5s2lli6fuz2.png)
<figcaption>Sample artist albums</figcaption>

<br>
I started writing this music player project which brings together all my audio files (which are scattered all over my filesystem) into a single library. This makes finding and listening to music easy. The main idea is to have a simple and beautifully designed UI accompanied by tons of cool features to go with it. The app goes by the name Swing (formely alice). The app runs a server in the background and you can access the UI using a web browser.

I’m super excited to be announcing the first beta version 🎉. Check out the release page on GitHub.
Here are some of the main features that I have managed to build so far:

- 📝 Playlist management - Create, update and view playlists
- 📁 Folder view - Browser your filesystem and play music in folders
- 💿 Album view - View an album and it’s songs
- 😁 Artist view - View tracks, albums, singles & EPs, appearances of the artist
- 🔍 Search - Search through your library (fuzzy search supported)
- ❤ Favorites - Add an album, artist or a track to your favorites
Checkout the screenshots on this canvas.

![Sample playlist page banner](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vrijlnhx35unp0la0iy7.png)
<figcaption>Sample playlist page banner</figcaption>
<br>
There are some pretty cool features which will be released in future releases. I have listed them down in this Notion page. Some of them are outright madness but some are really cool. If you have some cool features you might want to see in future releases, consider opening a suggestion issue here.

The app is currently available in beta for Linux at the moment. It will be coming to Windows soon (help wanted). You can get the app from the Github release page. If you encounter problems 🐞, don’t hesitate to open an issue on the Github repo. Screenshots, logs and error messages are useful.

### 🛠 For developers
I have been working on this project solo, so it’s very hard to push things fast. The app is written in Python for the backend and Vue3 for the client. If you have knowledge in any or both of this areas, feel free to contribute to the project. We’ll be excited to have you. As always, your help is highly appreciated.

### 📎 Links:
Backend GitHub repo: https://github.com/geoffrey45/swingmusic
Client Github repo: https://github.com/geoffrey45/swing-client
Issues page: https://github.com/geoffrey45/swingmusic/issues
Those cool features I was talking about: https://rhetorical-othnielia-565.notion.site/Cool-features-1a0cd5b797904da687bec441e7c7aa19

### 😃 About me
Hello there, I’m Mungai Njoroge. I build cool things with Python and VueJS. If you want to talk to me about the Swing music project or something else, feel free to DM or drop an email at geoffreymungai45@gmail.com. I will be reply as soon as possible.