Mood Palette

A React, Express and MongoDB app that turns written reflections into colours and music

Live AppLinkedIn Post

Live web app where you write how you feel and get back a colour palette and a matching track to play on Spotify, Apple Music, or YouTube Music.

How I built it

I built the app on React 19 and Express 5, using Gemini to evaluate written reflections across 12 moods and generate matching colour palettes. The harder problem was music: rather than manage per-service API keys, I built a keyless resolver that cross-references public iTunes and Deezer catalogues to find a single matching track across Spotify, Apple Music, and YouTube Music.

Outcome

Live in production at moodpalette.app. Guests keep their history when they sign up, because saved sessions migrate from local state into MongoDB on first login, and a Playwright suite guards that flow end to end.

Built with

React, TypeScript, Node.js, Express, MongoDB, Google Gemini, Canvas API, Playwright