Inspiration
I journal, and I listen to music. Lots. And there are times when music gives wings to my imagination, which, in turn, provides ideas to write. So this was something that I kept returning to. And I took the plunge when I saw the Devpost hackathon—nothing like working towards a simple goal of shipping a working product. No bells, no whistles—just a product true to my vision of marrying the reflective practices of journaling and listening to music that captures the soul of the journal entry. A tall order, but I got started anyway, and here I am, at the final lap—shipping!
What it does
Sinattra turns a journal entry into an original piece of music written for that exact moment.
It is for all those who find pleasure and peace in the reflective arts of jotting down their thoughts and finding solace in music. It is for all those who want to remember their lives not just through the arc of memories or words, but also through music.
You write an entry and then make the only musical choice you're asked to make: STAY or LIFT. STAY mirrors the emotional truth of what you wrote and sits with you in it. LIFT takes that same emotional starting point and gently carries it somewhere lighter. A few moments later you have an original instrumental soundtrack, and it lands in your personal library, building a longitudinal soundtrack of your inner life over time.
Sign-in is passwordless. You tell it your genre leanings once during onboarding. And entries that signal distress are routed to supportive, real-world resources instead. Everything you write and every track made for you is yours: exportable and fully deletable, on demand.
How I built it
Claude Code was the engineer, and I the product manager.
We observed spec-driven development, brainstorming meticulously before implementing and, subsequently, running tests and security (using Claude skills) for every feature before deploying.
Challenges I ran into
- Doing safety responsibly. This sits adjacent to mental health, so "just generate something moody" was never acceptable. Deciding when to hard-block versus surface a dismissible concern, and wiring in real crisis and international resources, was some of the most careful work in the build.
- ElevenLabs composition plans and text prompts are mutually exclusive, so the pipeline had to emit structured plan JSON directly rather than compressing everything into one English sentence.
- Choosing an audio API meant ruling out the popular options on licensing and API grounds and committing to one cleared for commercial use.
- And doing all of it solo, against a deadline.
Accomplishments that I'm proud of
- It's real and it's live. A stranger can land on the URL, sign in, write, choose STAY or LIFT, and get a genuinely original soundtrack composed for their words — end to end, in production.
- I took safety seriously. In a category where it would have been easy to ignore, the safety circuit breaker means the product knows when not to make music.
- Privacy by design. Full export and full deletion of everything a user creates, built in rather than bolted on as an afterthought.
What I learned
- Full process everywhere and burning tokens like it's a conflagration would have meant shipping nothing. Concentrating TDD and security review on feature development, and moving fast on presentational ones, is what got it across the line.
- Safety and privacy are features, not footnotes — especially for something this personal.
What's next for Sinattra
- Evals—validate tracks generated are true to genre and the 'stay with the feeling' or 'lift me up' preferences.
- Move to paid plans with real payments, and from fixed-length tracks to variable durations.
- Get user ratings back in, so the journal→music translation measurably improves over time.
- Let people see their emotional and musical arc across weeks and months — the soundtrack of a season of their life.
- GDPR/CCPA compliance, and a beta rollout.
Built With
- claude
- elevenlabs
- nextjs
- supabase
Log in or sign up for Devpost to join the conversation.