Inspiration

I live in Germany, so learning German isn't optional for me. I tried apps, books, YouTube and random word lists, and I kept failing at the same thing: staying consistent. Every day I had to work out what to study, and by the time I'd found material I was already distracted.

I also knew that to speak a language, you first need the words. But I couldn't find a clean, polished app that combined smart vocabulary practice with a clear daily routine.

I've been an Android developer for 5 years, so I decided to build the app I wanted for myself. I started Cinnamon before Shipaton, and Shipaton gave me the push to finish it and put it in people's hands.

What it does

Cinnamon is a calm, daily language habit:

  • Daily plan for your goal. Choose a target like A1 → B1 or A2 → B2, and each day Cinnamon tells you what to do. No planning, no searching.
  • CEFR vocabulary by category. Words are organized by level and topic, so you learn what matters at your stage.
  • FSRS spaced repetition. Flashcards come back right before you'd forget them, so words move into long-term memory.
  • Curated articles. Tap any word to see its translation and save it to your flashcards with one tap.
  • Native-like language. Idioms, native phrases, proverbs, slang and filler words: the parts textbooks skip and real conversations depend on.
  • Hands-free practice. Start a flashcard session and put your phone away. Cinnamon says a German word, you answer in English out loud, and it moves on (or the other way round). You can practice speaking while walking, cooking or commuting.

How we built it

  • Kotlin Multiplatform, sharing business logic across Android and iOS while keeping the UI native on each platform. With my Android background, KMP was the natural choice.
  • FSRS for review scheduling.
  • Speech recognition and text-to-speech in a foreground service, so hands-free sessions keep running with the screen off.
  • OneSignal for push notifications that remind users of their daily plan.
  • Claude Code as a pair programmer, which let me move much faster as a solo developer.

Challenges we ran into

  • Hands-free mode was the hardest part. Keeping speech recognition and audio playback working reliably in the background meant dealing with foreground services, audio focus and platform limits.
  • Notifications. Getting OneSignal to fit the flow of the app, nudging without nagging, took several iterations.
  • App Store rejections. I had to work through review feedback and resubmit before getting approved.
  • Google Play's 12-tester requirement. Finding 12 people to test the app for the required closed-testing period took real effort.

Accomplishments that we're proud of

  • I built the exact tool I wanted for learning German, and I use it myself.
  • It's a complete, working app published on both Android and iOS, not a prototype.
  • It brings together a daily plan, spaced repetition, real-world content, native expressions and speaking practice, which I haven't found together in any single app.
  • Many people struggle with the same consistency problem I had, and Cinnamon can help them now.

What we learned

  • Consistency beats intensity. Taking the daily decision away from the user matters more than adding features, and that idea shaped the whole product.
  • Shipping is its own skill. Store reviews, tester requirements, notifications and background services took as much work as the core features.
  • KMP is production-ready. Sharing logic while keeping native UIs let one developer ship a quality app on two platforms.
  • AI tools multiply a solo developer. Claude Code helped me build and ship far more than I could have alone.
  • Build for yourself first. Being my own first user made every design decision clearer.

What's next for Cinnamon: Calm Language Habit

My bigger goal is to change how people learn languages. Many apps keep you hooked on streaks and badges, but a streak doesn't mean you can hold a real conversation. I want Cinnamon to be the app people use to actually learn: real vocabulary, real native expressions and real speaking practice, all in a calm daily routine. I want anyone learning a new language, whether they're moving abroad, working or traveling, to be able to rely on Cinnamon.

Here's what's coming:

  • More languages. Right now the course is German for English speakers, and I'm actively working on adding more. Next up: English, Spanish, French, Italian, Portuguese, Dutch, Polish, Finnish, Swedish, Turkish, Russian, Hindi, Arabic, Japanese, Korean and Chinese, so anyone can build a daily habit in the language they need.
  • Smarter daily plans that adapt to your progress and the time you have.
  • More curated content, including articles, phrases and expressions for real-life situations.
  • More robust hands-free mode, with better speech recognition and more practice modes.
  • More features coming soon, all built around one goal: making it easy to show up every day.

Built With

Share this project:

Updates

Submission history