Inspiration

I wanted to build a goal-setting app that felt warm, human, and celebratory instead of clinical or guilt-driven. Gabby Beckford's prompt about celebrating progress and creating a dopamine reward loop sparked the idea of turning milestones into music. Ben's comment about a viral feature pushed me to design a shareable output: a personal dream song users want to post.

What it does

Dreams Melody helps users turn a dream into a SMART goal, break it into milestones, and unlock AI-generated song segments as they complete each step. The app celebrates each milestone with audio, vinyl animations, and confetti. A community Inspire feed lets users explore public dreams for motivation.

How we built it

We built the app with Flutter and Riverpod, using Firebase Auth and Firestore for anonymous login and cloud sync. RevenueCat handles subscriptions and paywall gating. Gemini assists with SMART-goal conversion, and Suno AI generates lyrics and music for each milestone segment. Audio playback uses just_audio with caching for smoother replay.

Challenges we ran into

Balancing personalization with AI cost and latency was the hardest part. We optimized by generating song segments per milestone (instead of a full song upfront) and caching audio after first play. We also spent time refining prompts so lyrics feel personal, not generic.

Accomplishments that we're proud of

We created a unique, emotional reward loop that makes progress feel tangible. The song-segment mechanic is both motivating and highly shareable. We also built a gentle, supportive UI that matches the tone of the experience.

What we learned

Users respond best to encouragement that feels personal and specific. Small wins matter when they are celebrated thoughtfully. We also learned that the quality of AI output depends heavily on the quality of user context and prompt design.

What's next for Dreams Melody

Next steps include public sharing with comments, deeper community features, improved onboarding personalization, and a richer audio library of styles for users to choose from.

Built With

Share this project:

Updates