Reading in a language you’re learning is a great way to build your vocabulary and increase your familiarity with the language. It’s also tedious, frustrating, and boring. You constantly stop to look up words you don’t know. You lose your place in paragraphs because you keep looking away. You read the same sentences over and over again trying to regain your focus. If you’re not doing this, you’ve chosen a text that’s easy to read, easy to understand, and utterly unexciting.

Read better with Foreword. Foreword is a web app that makes reading in your target language more approachable and enjoyable. It prescreens an article you want to read and curates keywords, a synopsis, and a customized vocabulary list. This overview helps you focus on the text and better understand it.

How it works:

First, Foreword retrieves the article you request.

Foreword Homepage

Then, it automatically sorts the words in the article into lists of known words and unknown words based on a master lists of words you already indicated you know or don’t know. Next, it asks you to choose the words you know from the words that could not be automatically sorted.

Foreword Sort Words page

Then, it parses the article and for keywords and a synopsis and defines the words you don’t know.

Foreword Foreword Page

Foreword Check Vocabulary Page

Finally, it generates lists of your new known words and unknown words from the words you manually sorted, and presents your vocabulary words in a Memrise bulk-add friendly format. This makes it easy for you to update your master wordlists  and to make flashcards of your vocabulary words.

Foreword’s backend is built with Python, flask, nltk, newspaper, and pyphen. Its frontend uses an image and content from the prescreened article. The example above uses a Forskning & Framsteg article on supernovas.

I chose Swedish to be the default target language because I’m currently learning Swedish.

View it on github Try it on Heroku