RSS Amplifier

Ulysse Pence · Jul 30, 2025

Language Learning with Robots

0
Sign in to vote or save

Ulysse Pence · Ulysse Pence

Read the full, updated version at ulyssepence.com.

Several years ago, I started self-studying Mandarin Chinese. I'm still at an intermediate level, but my previous partner and I communicated primarily in Mandarin. It's unlikely I'd have continued to study this long without the help of software.

I will share how I use code I wrote, tools others created, and AI to make learning language easier. While Mandarin Chinese is my primary language of study, I have automated the study of European languages as well. The methods here are relatively transferable.

Try to have fun with your language learning system! For me, the whole point of setting up this system was to make language learning more enjoyable and less tedious. If any of these sections seem too technical or boring, skip it.

I've memorized many different things in my life like geography, english definitions, foreign language translations, keyboard shortcuts, and programming concepts. Each time, I used Spaced Repetition Software. Spaced Repetition Software are like flash card apps that help people remember things.

Specifically, the app I've always used is Anki. These days, it helps me remember the meaning of Chinese characters, words, and grammar.

While working with the flash cards for language learning, I noticed that much of the time was spent on looking up information and creating the flash cards instead of actually studying them. I started writing code to automate some of that process and over the years it's evolved into a large monolith of code.

At a high level, there are three main phases in my flash card automation:

  1. I communicate my intention to my code in how want to change my Anki flash cards.

  2. On a recurring basis, some code checks to see if there's anything that needs to change... and changes it. The code will sometimes need to query my existing flash cards before making any changes.

  3. The changes to Anki gets synchronized to my phone and laptop via Anki Web.

Although you may find replicating this system on your own a daunting task, consider that you'll spend thousands (probably tens of thousands) of hours learning a language.

So what is an intent that I might express? A common example is adding a new Chinese word into my Anki flash cards along with its definition and pronunciation. (#1) I use the iOS app Shortcuts to pass the new word into a queue on my computer server on the Internet.

(#2) Some code on that computer server wakes up and notices there's a new word. The new word is slang, so it's not in the Chinese dictionary that I installed on the computer server. The code constructs a text prompt to ask an AI what the definition of the word is. With the definition in hand, it looks up the pronunciation of the Chinese characters of this word and passes all this information to a plugin for Anki called AnkiConnect that adds a new flash card to Anki.

A flash card in Anki for a Chinese word

But this new flash card was only created on my computer server. I want to review my new flash card on my phone and laptop. Fortunately, Anki has a free service called Anki Web that synchronizes changes to your flash cards between devices. (#3) So the computer server syncs with Anki Web and then I will see the new flash card the next time I use Anki on my phone or laptop.

Continue reading the full, updated version at ulyssepence.com.

No posts

Read the original on ulyssepence.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.