Inspiration
We were inspired by how hard it is to find the “right” music for a specific emotional moment. Playlists categorize feelings into broad labels like happy, sad, or chill, but real emotions are more nuanced than that. Moodoodle started as a simple question: what if your current mood could generate its own soundtrack instead of you having to search for one?
What it does
Moodoodle is a journaling-to-music app. You pick a color, write a short journal entry, and Moodoodle generates a short instrumental soundscape that matches the vibe. Instead of forcing your feelings into one label, Moodoodle treats mood as a spectrum and translates it into musical choices like tempo, harmony, texture, and rhythmic energy.
How we built it
Moodoodle uses a Journal to Music Plan pipeline. First, we map the journal text and selected color into two continuous emotional dimensions: valence (negative/dark to positive/bright) and arousal (calm/low energy to intense/high energy). Representing mood as continuous values allows subtle emotional shifts instead of rigid labels. We then translate those values into musically meaningful controls, such as arousal influences tempo and rhythmic density, while valence shapes harmonic color and brightness. From these parameters, we generate a structured composition plan. OpenAI helps interpret the journal entry and produce this plan, including reasoning about valence and arousal. That plan is then sent to ElevenLabs, which generates the final instrumental audio track.
Challenges we ran into
- Trying to describe the music plan into a specific genre like lofi, collapsed outputs into the same template. We had to learn how to describe musical attributes (texture, harmony, motion) instead of relying on one-word genres.
- We don't have any music theory background so it was super difficult understanding at the parts that goes into making soundscapes.
- Because of generation constraints, we had to enforce duration rules, handle audio buffering reliably, and add error handling for quota/permissions issues during development.
Accomplishments that we're proud of
We’re proud that Moodoodle feels playful and creative instead of clinical, and it invites users to explore their emotions through sound in a way that feels expressive and fun.
What we learned
Figuring out valence and arousal was also surprisingly hard. A journal entry can be sad but hopeful, calm but anxious, overwhelmed but excited. Turning that into clean numbers between 0 and 1 felt artificial at first. Then we had to map those numbers into real musical decisions like BPM, harmonic color, and layering. Translating something abstract and emotional into something concrete and technical was one of the hardest but most rewarding parts of the project.
What's next for Moodoodle
Next, we want to build an analysis page. Instead of the system being a black box, users could see how their journal entry was interpreted, like what their valence and arousal values were, how that affected tempo or harmony, and maybe even see a timeline of their moods over time. We also want to give users more control over the music. Sliders for energy, brightness, density, or tone would let people collaborate with the system instead of just accepting whatever it generates.
Built With
- elevenlabs
- express.js
- firebase
- html/css
- javascript
- node.js
- openai
- react
- tone.js

Log in or sign up for Devpost to join the conversation.