i·CANTO
Designing an AI language product around the songs people already love.
- Role
- Founder & CTO
- Team
- 3 people
- Timeline
- Dec 2024 – now
- Status
- Live, with paid plans
The idea
I learned most of my Spanish from Manu Chao, not a textbook. A song you love repeats the same phrases at an emotional peak, and you play it a hundred times without being asked. Language learners already do the repetition. What they're missing is a way to learn from it. I wrote about that origin in Music Was Always a Language Model.
I lead product and interaction design and write all of the code, working with Martin Zouzou (CEO) and Aurélie-Claire Perret (art direction).
The loop
Everything in the product serves one cycle: song → lesson → review → back to the music.
- Understand. Pick a song in any of 14 languages. Each line is translated with the lines around it, the title and the artist as context, so a lyric reads like a lyric. Grammar, verb conjugation, cultural notes and pronunciation are one tap away.
- Make it a lesson. Build My Lesson pulls the words and expressions worth learning from French, Spanish, Italian and Catalan songs, pitched to your level. You keep the ones you want.
- Remember. Every saved word becomes a flashcard that keeps the lyric it came from, with the word highlighted in its line. Swipe right when you know it, left to keep practicing. The next time the song plays, you hear it differently.
- Discover. Public profiles show what people speak, what they're learning and the songs they're learning from. Follow people whose taste you trust; messaging opens between mutual followers, and songs can be shared into a conversation.
Decisions that shaped it
Use a model only where judgment is needed
Verb conjugation runs through a rule-based conjugator first and falls back to a model only for what the rules can't cover. Song search uses a deterministic ranking after a real user searched Despacito and got a cover with Chinese translations mixed into the lyrics. The model handles the parts that need interpretation: translating a line in context, choosing what's worth learning, explaining an expression.
Measure a prompt before shipping it
Before changing how lessons are generated, I ran a controlled experiment: 8 songs across 4 languages, 32 generations, and 373 candidate lesson items labeled blind before unblinding. The rewrite lifted French from 43.5% worthwhile items to 75.9%, but Spanish, Italian and Catalan didn't improve, and it wrote 84 explanations in the wrong language. So it didn't ship. Only a small, bounded instruction change went forward. The same work showed that lessons for advanced learners are still an open problem, and I haven't found a safe fix yet.
Design the cost model into the product
Every OpenAI and ElevenLabs call reports its estimated cost, so pricing rests on observed spend rather than guesses. The free plan allows five new songs a month, with allowances for pronunciation and tutor chat. Pro is sold as unlimited song learning, with fair-use ceilings that never appear in the copy. A song you've started stays learnable forever, so a limit never takes away something you already began.
Let people make it theirs
Learners choose an accent color, and the interface derives readable text and surface colors from it, with contrast checked against WCAG math in tests. The three demos above run in three different accents from the same components.
Built with
Next.js, TypeScript, OpenAI, ElevenLabs, Postgres, Redis, Stripe and PostHog, on Vercel.