Wavelength is a music discovery tool that lets you find songs by describing a feeling or mood instead of searching by artist or genre. Type something like "driving at 2am" or "Y2K pop energy" and it generates a playlist around that vibe.
Why I Built This
It was built to explore what music discovery could feel like if it started with emotion rather than metadata. Most platforms make you already know what you want. Wavelength flips that, you describe how you feel and let the AI do the digging. It can also generate results based on specific searches/prompting.
Framer Agents
I used the agents in defining the style guide, handling animation, effects and creating components and their various states. Iterated on them quickly through prompting directly inside Framer.
External Agents
I used these tools together to make the generator function.
Exa.ai handles the web search and scouring trusted music sources like Pitchfork, Billboard, and Last.fm to ground the results in real time
Groq (running Llama 3.3) is the language model that takes your vibe description and the search context and actually curates the list
Deezer's API supplies the 30-second audio previews. The whole thing is stitched together through a Cloudflare Worker that acts as the backend, keeping API keys secure and handling the audio proxying so previews play without any browser permission issues.
Claude was used throughout the build for writing and debugging the actual code that connects all of these pieces.
Try it out and let your feelings/mode curate a list for you.
With Framer Agents
Wavelength is a music discovery tool that lets you find songs by describing a feeling or mood instead of searching by artist or genre. Type something like "driving at 2am" or "Y2K pop energy" and it generates a playlist around that vibe.
Why I Built This
It was built to explore what music discovery could feel like if it started with emotion rather than metadata. Most platforms make you already know what you want. Wavelength flips that, you describe how you feel and let the AI do the digging. It can also generate results based on specific searches/prompting.
Framer Agents
I used the agents in defining the style guide, handling animation, effects and creating components and their various states. Iterated on them quickly through prompting directly inside Framer.
External Agents
I used these tools together to make the generator function.
Exa.ai handles the web search and scouring trusted music sources like Pitchfork, Billboard, and Last.fm to ground the results in real time
Groq (running Llama 3.3) is the language model that takes your vibe description and the search context and actually curates the list
Deezer's API supplies the 30-second audio previews. The whole thing is stitched together through a Cloudflare Worker that acts as the backend, keeping API keys secure and handling the audio proxying so previews play without any browser permission issues.
Claude was used throughout the build for writing and debugging the actual code that connects all of these pieces.
Try it out and let your feelings/mode curate a list for you.
With Framer Agents