Muzica - Save Your Music in the Cloud

Hey guys,
today I wanna announce my latest project to the forum. It’s called “Muzica” and is fully based on Meteor. It’s a single developer project, so I hope I can show beginners what they can do with Meteor and why Meteor is a great framework to build apps.

What is Muzica?

Muzica is a free cloud service where you can upload your whole music archive for free. All your songs will be available on all your devices, so you will never loose a song again. If you loose or change your device, you only need to install one of the Muzica app and within a few seconds you’ll have access to your songs again. It’s also possible to add up to 20 friends to share music with each other. Currently the cloud space is limited to 1 TB per user (with a max file size of 500 MB).

Third party sites are also able to integrate a Muzica button to their sites if they provide music downloads (an example is integreated on yaBeat when you convert a music video). So a user only needs to click on the button to add a song to his account.

Why did I choose Meteor?

I choose Meteor for three simply reason: Realtime, fast development and the possibility to target multiple platforms. In my case I needed an seperate app for Android, iOS, Mac and Windows. I’m a single developer, so I have to use an ecosystem where I can reuse most of my code to reduce maintenance work. Meteor gives me all of this features for free. All smartphone apps are built with React Native and react-native-meteor. The desktop apps are built with meteor-desktop. I don’t know any other framework which gives me all of this features.

What I’m missing

Well, I’m a little bit disappointed that MDG doesn’t maintain the desktop and React Native integration (both are community plugins). I guess building multi platform apps with a single code base is one of Meteors main features and makes it very interesting for companies and developers. You only need a small team to reach a big audience. On the other side, you also save costs because you only have to maintain a single code base.

Here are all project links:

Muzica Website
iOS App
Android App

Windows App
Mac App

Web Player

Any feedback is appreciated :slight_smile:

BTW: Special thanks to @diaconutheodor (redis-oplog) and @omega (meteor-desktop) for providing such great plugins.

15 Likes

What library are you using for the web player?

and the mac app is built with meteor??

Hey, what library do you mean? The player is built with React and own CSS styles, so I’m not using any CSS framework.

Sure, the Mac and Windows app use the same code base like the web player. meteor-desktop allows you to release your Meteor app as a desktop app. You are also able to use native features (like saving files on the disk etc.)

Very nice so far. There are a couple places in the Android app where I’m seeing non English text, and one the account friends tab it says there’s no translation for the noFriends string, but overall it’s a nice app.

Nice job ! Even a nicer job that you used redis-oplog.

Quick question, are the apps cordova ? If yes did you use React 16 ? Heard it brings fluidity to mobile apps.

Really impressive, great work.

I just noticed on my Android, some notification messages (lost password, account not found, password was sent etc…) are being truncated. Also, when I filled the forgot password page, I was expecting to be directing to the app, but it didn’t.

I’ll be testing it more over the next few days, I really enjoyed the app, and I really like the mac desktop experience, I’ll be using it myself :smiley:

This looks fantastic - love the design!

Couple of bugs I noticed on Android:

  • Missing en-GB translation for accounts.friends.noFriends
  • You can’t determine the state of the ‘sync without wifi’ toggle because the toggle background is the same colour as the main background.

I’m really interested in this service and I’ve actually been looking for something similar for a while now… Hope you could answer a couple of questions?

Is the storage paid for entirely by advertising?

Say I try to upload a song that you already have stored by another user - will the server store both files or just one to save on duplication?

Now let’s say I upload a lossless FLAC copy of a song and somebody else had already uploaded a 192kbps MP3 of the same song. What happens here?

Are songs / library data encrypted on your servers?

Is it legal to share songs between friends?

Hey guys,
thank you very much for your answers, I’ve added the bugs to my list and will fix them within the next 1-2 days :blush:.

Nope, I’m using React Native. I don’t like the Cordova approach, I guess React Native still gives a more native feeling than Cordova does.

Yeah, in long term the service will be funded by ads. I don’t see any reason why people should pay for music and also pay for a cloud storage, so monetize the service via advertisements would be the best way.

Both files are saved due to legal reasons.

Both files are available. Could be interesting to add a function which filters duplicate songs (comparing ID3-tags) so you’ll only see that one with the highest quality. If you and a friend upload the same file, the file of your friend will be hidden. Also your playlists will be updated with your files if you’ve added the friends file to your playlist.

Nope, the songs are stored within a OpenStack object storage. I’ll only add access control in long term so nobody can copy download links to share them with the public.

In most of the EU countries including Switzerland it is legal to share music files between close friends (that’s the reason why you can only add up to 20 friends to your account).

I’ve also added today a little documentation how third party sites can integrate the Muzica button to their music sites.

1 Like

This all looks really cool - uploading some songs now to try it out!

So how much does 1TB space cost you? How much ad revenue would you need from each user per month?

Little UI bug when uploading many files (Chrome)

Hey, nice work, this is something I have been looking for. Currently I use a google drive account and had been streaming with clementine although it’s stopped working in Fedora for me.

So, I created an account and get prompted to download one of the four apps. I’m running linux though so how do I just use the web app?

Another question. My collection is flac. Do you transcode or stream in full quality ?

Hey, thanks for reporing the bug, I’ll fix that. The project is hosted @ OVH. For the file I’m using their object storage, pricing information is available here.

I’ll release a Linux app if I’m back at office, shouldn’t be a big deal because Electron has support for it. For the moment you can access the web player at https://play.muzica.io

I’ve just added it today to the allowed formats. It wasn’t available since the beginning because of iOS (its only available on iOS 11). The file will be streamed as FLAC, if you want to save traffic and play it offline you can download it to your device. I guess if people decided to save their music archive as FLAC they have a reason for it, so it wouldn’t make sense to convert a high quality audio file down to a file format with less quality :smiley:

1 Like

One thing you could probably improve on the login is to let people use either email OR username to login. I was confused there for a moment.

Nice work with the FLAC . I’ll give it a try today.

1 Like

This looks great. Any chance that you are Russian? Your company name is how we would say it in Russian.

If you haven’t built out an admin panel yet - I could hook you up with a license for Meteor Candy if you could do a blog post review by October 31. Let me know and I can send you more information :slight_smile:

Oh, I’m from Germany but living in Switzerland now :joy: - but yeah, the name is inspired of the Eastern European words for music.

Thank you for the offer, but I already have an admin panel implemented :grinning: - but Meteor Candy looks really nice. I guess I’ll give it a try on the next project, so I don’t have to create a seperate admin panel for it :+1:

Nice, but unfortunately it is not working on my tv: LG with webOS, the list of songs/albums/artist/generes/years… are empty

Hey, interesting - my Bugsnag error logs are empty. I’ll test it on my LG TV when I’m back at Switzerland. But I guess create an seperate WebOS app would be the better way :slight_smile:

Just created an AppImage file for linux, but I don’t have a linux machine here to test it (I read that AppImages can’t write to the system, so the download function may not work). I’ll check it next week when I’m back at CH.

1 Like

Great Project!
Firefox wouldn’t let me upload files…
Chrome works just fine.

Hey,
thanks for the information. This was an issue with the MIME types for MP3 files. Just fixed it, should work now :slight_smile:

I’ve released a new iOS app, the missing translation string should be fixed now. If you change your password, you’ll get redirected to the app and be automatically logged in.