I was tired of music services never giving me the right song when I needed it.
So I built MoodFM : a simple Web app where you just type how you feel and it finds the song you didn't know you needed !
Built with Python (Flask) for the backend and HTML, CSS, Vanilla JS for the front. Hope you will like the idea ! (:
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Devlog August 09 Today I added some small things and fixed some bugs. You can now close the song popup by pressing ESC key and some bugs with the DB were also fixed. I don't think there will be any other big update on the project so I hope y'all enjoy it !
Devlog August 06 Translation ! I added the missing translations for the new elements I added recently including the stats page and the footer.
Devlog August 5 Today I fixed some things with the stats page and then added a footer for the page.
Devlog August 4 I created a private API for my servers to reduce load on main server and move AI models to a second server. The API is called PiBridgeAPI. (The code is not public but if I make any changes to the version of the AI scripts on the other server I will also update the ones on the public repo)
Devlog August 4 Today I'v fixed some issues with the background animations and added a range time selector for the stats. You can now choose beetwen 3 time periods : today, month and ever. I'v worked on the backend to adapt the previous code that fetched data from the DB, and then the front to display the time selector and show the animations.
Devlog August 3 I improved design on the background of the page, the stats section and the two bottom sections.
Devlog July 28 I just added design for the stats part ! It fetches the data from the API endpoint I made earlier and then displays it on a chart. I will probably improve it later and add more data.
Devlog July 27 I'm back ! I wanted to add a few new things so let's start working on the project again ! For now I'v implemented the backend part for the future statistics page of the website. For now it tracks best mood of the day and how many people came to visit the website. Everything is stored in a MySQL database.
Devlog July 17 The only missing thing was moderation, now the input is checked and if flagged as harmfull too many times the user can get banned. I used Redis DB to track the users and a combination of two HuggingFace models to say if the input is safe or not.
Last Devlog July 14
The project has come to an end. After almost two weeks of building and around 25 hours of focused work, I’m finally shipping MoodFM.
MoodFM is an AI-powered music recommender that turns your emotions into music. You type how you feel (in any language) and the app gives you a song that matches your mood, thanks to model found on HuggingFace and a backend pipeline connected to multiple music APIs.
The project includes features like :
- A multilingual support via Google Translate
- Emotion classification using HuggingFace models
- Real-time music suggestions via Last.fm
- Shareable results with custom links
- Song preview playback and provider buttons
- A smooth, mobile-friendly UI with loading animations, custom toasts, and even a custom 404
- Full translation in French and English
MoodFM is live, it works, and I’m pretty proud of it. Let’s see what happens next. Enjoy your summer !
Devlog July 14 A lot of thing happened since my last devlog ! The website now features a sharing button to share with someone a song you found, I also added toaster notifications to replace the alerts on the website. I'v also polished bit the UI and improved navigation on mobile. This took me a lot of time but I'm quite happy with the result !
Devlog July 10 404 Page ! Now the websites showcases a nice custom 404 page to handle broken links for example.
Devlog July 10 Mobile responsiveness improvements ! I added a little menu that only appears on mobile devices, it replaces navbar that is too big to be visible on phones. See ya !
Devlog July 10
Translation has arrived ! The website is now translated in French for french speaking users. I used i18n tags in html and .json files to handle the translated texts.
Devlog July 9
Mobile responsiveness ! Now the website is adapted for mobile screens so you can enjoy it from your phone. I used basic CSS media queries to adapt the elements placings and sizes.
Devlog July 5
Multiple music providers support ! Now you can select wich music service you want to use to listen to the song! I used multiple libraries found on GitHub to get the music link from Apple Music, Deezer and Youtube Music.
Devlog July 4
Added super cool animations ! The website is now a bit more animated thanks to ScrollReveal, it's a JS tool that allows very cool scroll animations. Now the elements fade in and fade out on scroll. Go check that by yourselves !
Devlog July, 3 2025
Just added the design for the Web page, I wanted to post devlog yesterday but it would'nt let me post it.. Since then I worked on styling and added a lot of CSS. Now I'm gonna polish the desing, fix some things and add mobile experience !
Now I'm working on the Web part ! I just added a basic API written in Python using Flask so the website can communicate with the server. There are 3 endpoints, /music /mood and /ping. Each of them will be used later. I securized everything with ratelimiting, Talisman and CORS.
I just add Huggingface API to improve emotion detection from text, I also moved some files in other folders to make things easier for me. Now it detects better the feelings and provides better song suggestions based on what you write.
Juste pushed the firs commit of the project !
I added the main mood analyzer to retrieve an emotion from a given text and then give that emotion to Last.fm API to get the perfect song.