- TypeScript 98%
- HTML 2%
| avatars | ||
| components | ||
| services | ||
| .gitignore | ||
| App.tsx | ||
| constants.ts | ||
| index.html | ||
| index.tsx | ||
| metadata.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| types.ts | ||
| vite.config.ts | ||
Making a Child Smile, One Song at a Time
The Songs of Love Foundation is a nonprofit that creates personalized songs for children facing serious illness, crafted around a specific child’s name, interests, and personality, and delivered as a gift of joy during one of the hardest seasons of their life. When I came across their mission, I wanted to find a way to help.
This tool is my small contribution to that effort. It’s a web-based assistant that helps songwriters and volunteers draft personalized songs faster by putting AI to work on the creative heavy lifting. Fill in the details about a child, their name, age, hobbies, favorite things, and the assistant generates a song draft that follows the foundation’s official guidelines. The writer still shapes and refines the final piece, but the blank page problem is solved, and more children can get their songs sooner. What Makes It Interesting
The core challenge here wasn’t building a chatbot, it was constraining one usefully. A general-purpose language model can write a song about anything in any style, but Songs of Love has a specific voice, structure, and tone they want to preserve. The interesting engineering work was in the prompt architecture: encoding the foundation’s guidelines in a way that consistently shapes the model’s output without making it feel robotic or template-stamped.
The app is built with HTML and TypeScript and powered by the Gemini API through Google AI Studio. Keeping the stack minimal was intentional. This is a tool that volunteers might self-host or hand off, so simplicity and portability matter more than a fancy framework. How It Works
A volunteer fills out a form with the child’s personal details, name, age, favorite things, personality traits
The assistant sends those details to Gemini with a carefully structured system prompt that encodes Songs of Love’s songwriting guidelines
A personalized song draft comes back, ready for the songwriter to review, tweak, and bring to life
User uploads information to Suno to create the custom song for the child
Upload the song to Songs Of Love Foundation for distribution to the child