Building with AI · Language learning
Building the language learning app I wanted
Turning a language learning strategy into an app for practising spoken Swedish.
I’m learning Swedish, and I’ve reached a familiar frustration: I can understand quite a lot, but speaking is harder. I wanted an app built around the way I wanted to practise. So I made Language Flow.
Codifying a language learning strategy
The core is learning chunks of language: sentences I can use, rather than words in isolation. I can build language islands around familiar topics and customise the sentences using words I come across in real life. Shadowing lets me listen and copy the speech; active recall makes me try to produce it myself. The focus is becoming more fluent in speaking.
I can choose sentences and adjust the repetitions, speed and pauses. I return to the material over time, but there’s no spaced-repetition algorithm scheduling it for me. That’s something I could add later.

Hearing myself speak Swedish
I used Voicebox to clone my voice and generate the audio files. Hearing myself speak another language was partly just fun. I was curious about practising with a voice that sounded like me.
Generating the audio was one of the more awkward parts. I also linked my Reverso word lookups to a workflow that generates a sentence automatically. It works, though not reliably every time. The idea is to reduce the steps between finding a word and having something to practise.
Practice on my wrist
Building a smartwatch app was something I’d wanted to do for a long time. I was surprised by how approachable Android Studio made it, with AI helping me work through the problems. Getting audio to keep playing in the background took a while.
Listening at the gym is another way to reinforce what I’ve practised. I can leave my phone in the locker and listen on my watch. Both the website and watch app let me download the audio for completely offline playback. There’s a wait for the download, but after that I can use it without a connection. The web app runs on ChatGPT Sites, which also meant less infrastructure to think about.
The satisfying part is having something that fits how I want to learn. I didn’t have to wait for someone else to build it. I try an idea, use it, notice what’s missing or where I’ve gone wrong, and go back for another pass. It comes together quite quickly, but those iterations are what make it useful.