demo gif

Actively learn vocabulary as fast as possible. Words are ordered in their frequency so you learn the most important words first. Only your memory recall matters, so you wont be punished for minor spelling mistakes. This all helps with understanding text.

Check out feature
demo gif

Enjoy authentic videos to quickly learn. Any youtube video with spanish subtitles will work. The subtitles are perfectly integrated with the App.

Check out feature

Scroll down to learn more...

test
test

YouTube

Hi, my name is Michael and this is an overview of some of my past work. I like to explore new and creative ways around language learning with code

demo gif

Quick overview

demo gif

The above feature shows the app's extensive ability to explore learning data. it can identify words that are quickly learned and more importantly those that are difficult. This really helped me to explore my learning data, and based on that I fine-tuned the learning algorithm. Eg. there are certain words that for some reason are learned near instantly, and now the algo covers that case (it doesn't keep asking you a word if you got it right unusually quickly). Conversly there are words that for some reason I can't get right but it's annoying that the app keeps pestering me with them. So after some point words get put on the backburner. In future work it would be cool to group words by filtering them down and then create vocab lists. Eg. learn all the difficult backburner words.

demo gif

demo gif

Read an article and the words get matched with the internal vocab corpus. It's then possible to learn all the article words as a vocab deck and have the corresponding stats. This also makes it possible to filter for articles that contain optimal words based on the user's learning state. Eg. find articles that contain only 10% new words.

demo gif

Same attempt but with video which I thought was cooler. After I build this youtube changed their auth API so dealing with that became even more of a nightmare.

demo gif

Vocab training is the heart of the app. I have spent a lot of time tweaking the learning algorithm, eg. should you learn a new word, practice a fresh word or review an old one (called spaced repetition system, srs). Which side, eg. english or spanish should be learned first? Should one side of a flash card be treated as new if the user just learned the other side? If the user learned the base form of a verb, how well does the user know the conjugations? What about the other way around? Making wrong assumption about the answers to these questions causes the learning algo to become frustrating.

demo gif

My favorite experiment, generating sentences on the fly based on the user's learning needs. Eg. combining review with a new word. A difficult engineering challenge was to deal with matching words when checking the user's answer, as both sentances sometimes dont have the same length. People using the app gave me lots of feedback regarding small grammatical mistakes, but as a language learner I cared more about the grammar pattern rather than minor mistakes. Getting all grammer edge case right also is one of those 80% effort for 10% reward things.

demo gif

My favorite experiment, generating sentences on the fly based on the user's learning needs. Eg. combining review with a new word. A difficult engineering challenge was to deal with matching words when checking the user's answer, as both sentances sometimes dont have the same length. People using the app gave me lots of feedback regarding small grammatical mistakes, but as a language learner I cared more about the grammar pattern rather than minor mistakes. Getting all grammer edge case right also is one of those 80% effort for 10% reward things.

demo gif

demo gif

Building an app for the sake of building an app was kind of cool. Maybe I will do it again. Tapping on words as opposed to writing them is also nice. If I had more time with it I would add a countdown feature.

demo gif

Long overview. Not bored yet? You can watch this 2 minute long slow gif.