-
-
Synced lyrics translations and word meanings
-
Interactive lyric and vocabulary challenges
-
Vocabulary collected from every song
-
Big-screen karaoke controlled by phone
-
Songs across seven languages
-
Share lyrics and learn with friends
-
Turn completed songs into new words
-
Track progress XP and streaks
-
Singdu app icon
-
Learn languages with synced lyrics and instant meanings
Inspiration
I am learning Chinese and hope to pursue a graduate program in China. The motivation was there, but HSK books, beginner videos, flashcards, and even gamified apps felt too dry or generic for me to stick with.
Meanwhile, I could listen to Chinese songs for hours, especially songs by Jay Chou, even when I barely understood the lyrics. Once I started understanding each line, the songs felt completely different and new vocabulary began sticking naturally.
Songs combine listening practice, words in context, repetition, and melodies that turn vocabulary into earworms. That experience inspired me to build Singdu.
What it does
Singdu turns songs into interactive language lessons. Learners can follow synchronized lyrics, understand each line, explore unfamiliar words, practice with lyric games, and sing using Pocket Karaoke or KTV.
It supports Chinese, English, Indonesian, Japanese, Korean, Arabic, and Turkish.
How I built it
I built Singdu as a solo project using Kotlin, Jetpack Compose, Firebase Authentication, Cloud Firestore, and YouTube playback.
RevenueCat powers Singdu Pro across monthly, yearly, and lifetime options. It manages purchases, restores, offerings, and entitlements while keeping access connected to the correct Firebase account.
Challenges
The hardest part was keeping playback, lyrics, translations, pronunciation, and vocabulary synchronized across languages with very different writing systems.
I also had to keep subscription access reliable through sign-ins, restores, device changes, offline states, and account deletion without making the free experience feel empty.
What I learned
Building Singdu taught me how much complexity sits behind an experience that should feel effortless. Reliable lyric timing, multilingual content, account state, and subscription access all need to work together without distracting from the music.
What’s next
I plan to add more songs, improve recommendations, bring Singdu to iOS, and create more ways for learners to practice together.
Hear it. Sing it. Remember it.
Built With
- android
- astro
- cloudflareworkers
- cloudfunctions
- cloudrun
- firebase
- firebaseauth
- firestore
- go
- jetpackcompose
- kotlin
- material3
- postgresql
- react
- revenuecat
- typescript
- youtube


Log in or sign up for Devpost to join the conversation.