While reading some piece of literature, one may encounter complex vocabulary that they are unfamiliar with. In such cases, it is quite inconvenient to pause in the middle of a sentence to pull up a dictionary. Especially when there are a lot of unknown words, a typical reader will skim through the text and remain with a stagnant set of vocabulary and knowledge. Recently, I attempted to read a foreign language literature. Due to a great number of unknown vocabularies, I had to break off from reading to search through a dictionary manually. To address this issue, I was inspired to develop Linguist Gutenberg.

What it does

This application extends the vast collection of free ebooks available on Project Gutenberg. Not only does it provide an easier user-interface with an accessible table of contents and a bookmark functionality, but it includes a clean dictionary module. Users can highlight or type in a word within the text and its definitions will be displayed on the same page. Thus, they will be able to read in peace, unimpeded by complex vocabularies and the hassle of searching through a dictionary manually.

How I built it

Using Flask for Python, I handled requests to Project Gutenberg and Wiktionary APIs. The web app was built with HTML and JavaScript. It is hosted on Google Cloud App Engine.

What's next for linguist-gutenberg

In the future, I hope to implement an AI algorithm to categorize a reader’s vocabulary size and predict words they may not know. Then, the app will automatically display relevant definitions without the user having to select a word themselves.

Try It out



bootstrap, flask, html, javascript, python

Devpost Software Identifier