Alright so this is going to be a long one. Grab a coffee.
About a year ago I decided to build an AI song maker from scratch. Not just a wrapper around an API — a full platform with music generation, lyrics writing, remixing, community features, the works. The result is Song Maker and its mobile companion app Rhymz.
I want to share the technical journey, the mistakes I made, and what I learned building an AI music generator as basically a one-man team. If you're an indie dev thinking about building something in the AI space — this might save you some headaches.
Some Context First
My name is Sergey, I'm a product manager turned indie developer. I've been building software products for over 10 years across fintech, blockchain, SaaS, you name it. But I always wanted to build something of my own — something people use for fun, not just for work.
The idea for an AI song generator came from a pretty simple frustration. I'm not a musician at all but I kept wanting to make music — for videos I was editing, for friends birthdays, just for fun. Every tool I tried either required actual musical knowledge or only did part of the job (like generating an instrumental with no vocals).
So I thought — what if I build a free song maker where you just type what you want and get a complete song back? Lyrics, vocals, instrumentals, everything. How hard can it be?
(Every developer reading this knows where this is going.)
The Stack
Let me get the tech stuff out of the way first since this is Dev.to after all.
Frontend: Next.js. I went back and forth between Next and Nuxt for a while but ultimately Next won because of the ecosystem and the deployment story with Vercel. Server components have been a game changer for SEO too — which matters alot when you're trying to rank for stuff like "free ai song maker" and "ai song generator free".
Backend: Firebase. Yeah I know, some of you just rolled your eyes. But for a solo dev shipping fast, Firebase is hard to beat. Firestore for the database, Cloud Functions for the backend logic, Firebase Auth initially (more on that later). The realtime capabilities came in handy for the community features too.
Auth: Started with Firebase Auth, migrated to Clerk. This was one of those "I wish I did this from the start" moments. Clerk's pre-built components saved me probably 2 weeks of work and the social login flows are just better. If you're starting a new project — just use Clerk from day one.
Payments: Stripe. No surprises here. RevenueCat handles the mobile subscriptions for the Rhymz app on Google Play. Keeping web and mobile payments in sync is its own special kind of pain that I won't get into here.
Hosting: Vercel for the web app. The preview deployments alone are worth it. Every PR gets its own URL which makes testing so much easier when you're working with a small team.
Mobile: React Native for the Rhymz app. Shared alot of business logic with the web app which was the whole point.
The Hard Part: Building an AI Music Platform
Generating music with AI is the easy part. No seriously — the hard part is everything around it.
SEO Was a Nightmare (At First)
When you're building an online song maker, you're competing with Suno AI, Udio, and a bunch of other well-funded companies for keywords like "ai song generator", "free music generator", "music maker", and "ai music maker". These are incredibly competitive terms.
Here's what actually worked for me:
Long-tail keywords. Instead of trying to rank for "ai song generator" right away, I targeted stuff like "free ai song maker", "ai song generator free", "song maker ai free", "free ai music maker". The competition is lower and the intent is actually better — people searching these are ready to try something.
Dedicated landing pages. Every major feature has its own page with its own SEO strategy:
- Lyrics Writer targets "lyrics maker ai" and "lyrics maker"
- Stem Splitter targets stem splitting related queries
- Remix/Cover has its own set of keywords
- Trending and Genres pages generate organic traffic from people browsing
Blog content. We write articles (like this one lol) that naturally include keywords people search for. Not keyword-stuffed garbage — actual useful content that happens to mention "free song maker" or "ai music generator" where it makes sense.
Next.js SSR/SSG helps massivley. Having proper server-rendered pages with good meta tags, structured data, and fast load times made a noticable difference. If you're building an AI tool and using a pure SPA — you're leaving SEO on the table.
Community Features Changed Everything
This was the biggest lesson. I originally built Song Maker as just a tool — you come, you make a song, you leave. Engagement was meh.
Then I added:
- Trending charts — songs ranked by plays and likes
- Playlists — curated collections by genre and mood
- Genre browsing — explore whats being created
- Liked Songs and History — personal library
Overnight (ok not literally overnight but you get the point) the retention numbers changed dramatically. People weren't just generating songs — they were coming back to listen to what others made, discovering new tracks, and getting inspired to create more. The AI music maker became a platform instead of just a tool.
If you're building any kind of generative AI product — add social/community features early. It's the difference between a toy and a product.
The Feature That Surprised Me
Remix / Cover was supposed to be a nice-to-have. Users kept asking for it so we prioritized it. Turns out it became one of our most used features almost imediately.
People upload their favorite songs and create AI versions in different genres. Someone took a pop song and turned it into a jazz arrangement. Another person made a metal cover of a classical piece. The creativity is wild.
The technical challenge was interesting too — you need stem separation (which we already had in our Stem Splitter), vocal analysis, genre transfer, and then recomposition. Getting all these pieces to work together reliably took more iteration than I expected.
Mobile + Web: The Sync Problem
Running the same product on web (Song-Maker.net) and mobile (Rhymz on Google Play) sounds great in theory. In practice its a constant game of keeping everything in sync.
User creates a song on web → it needs to show up on mobile instantly. User buys a subscription on mobile via RevenueCat → needs to work on web via Stripe. User likes a song on their phone → liked songs library on web needs to reflect that.
Firebase Firestore's realtime sync helped alot here but there are still edge cases that will make you pull your hair out. My advice: if you're planning to go multi-platform, design your data model for it from day one. Don't bolt it on later like I did.
Things I Got Wrong
Because no honest dev post is complete without this section.
I overengineered the onboarding. First version had a 5-step onboarding flow with genre preferences, mood selection, the whole thing. Nobody completed it. Current version: land on the page, type your idea, hit generate. Thats it. Conversion went up like 3x.
I underestimated ASO. App Store Optimization for the Rhymz app was an afterthought. Turns out the keywords you put in your app title and description matter enormously. "AI Song Generator" in the title performs completely differently than "Music Creator App". I had to learn this the hard way.
I tried to launch everything at once. The Lyrics Writer, Stem Splitter, Remaster, Extend & Continue — I wanted all of these ready for launch day. Bad idea. Should have launched with just the core song generator and added features based on what users actually wanted. Would have saved me months.
I ignored paid acquisition for too long. Organic SEO and content marketing are great but they take time. Running even small TikTok and Instagram ad campaigns early on would have given me faster feedback loops. We're doing this now and the data is super valueable for product decisions.
Numbers (Because People Always Ask)
I'm not going to share exact revenue numbers but heres some context:
- Solo founder with a small remote team (mostly based in Ukraine)
- Bootstrapped — no VC funding (yet?)
- Revenue comes from subscriptions (web + mobile)
- The free AI music generator tier drives most of the top-of-funnel traffic
- Community features (trending, playlists, genres) account for a surprisingly large chunk of total engagement
The freemium model works. People try the free song maker, make a few tracks, get hooked on the creative possibilities, and eventually want more generations, higher quality, additional features. The conversion from free to paid is healthy.
What's Next
We're working on a few things I'm excited about:
- iOS app — Rhymz is Android-only right now, iOS is coming
- Better voice cloning — the Remix/Cover feature will get way more powerful
- Collaboration features — co-create songs with friends
- API access — for developers who want to integrate AI music generation into their own apps
If any of this interests you, the best way to try it is to just go to Song-Maker.net and make a song. Takes about 30 seconds. No signup required for your first one.
For Fellow Indie Devs
If you're thinking about building something in the AI space, here's my honest advice:
Ship fast, iterate faster. My first version was embarrassingly basic. But it was out there. And real users gave me real feedback that shaped everything that came after.
Don't compete on AI quality alone. Every AI music maker uses similar underlying models. The differentation is in the UX, the features around the AI, and the community. Build a platform, not just a wrapper.
SEO is a long game but its worth it. Every blog post, every landing page, every feature page compounds over time. Six months of consistent SEO work is now driving more traffic than any paid campaign.
Talk to your users obsessivley. The Remix feature, the community charts, the lyrics writer — all of these came from user requests. Your users know what they want better than you do.
Thanks for reading this far. If you have questions about the stack, the AI stuff, or indie dev life in general — drop a comment and I'll answer everything.
Built by Sergey / MYSLF — lysiuk.online | @MYSLFapps on X
Try Song Maker: Song-Maker.net
Get Rhymz: Google Play

Top comments (0)