While working in IT for years, my colleague and I wrote various articles/books in our spare time. We found that when we write a story, the most fun takes place before it first appears on screen (or paper), while the much more tedious part is to edit the writing for grammar, style, clarity etc. in order to meet the standards of potential readers. I even ended up paying a professional editor to do the proofreading for me, which turned out to be quite an expensive proposition.
Recently, there have been tremendous advancements in NLP, so we decided to develop our own AI-driven proofreader. As a way to market our software virally, we created the Eduard.AI application that curates trending articles and assigns them a quality rating based on syntactic and semantic analyses.
What it does
Eduard.AI does for articles what metacritic.com has done for movies. It shows the currently trending stories and the quality of the writing. Every article is assigned a "total rating", but there is also a detailed breakdown of which scores went into the rating.
How I built it
We built Eduard.AI using Python. There is a data collection service that periodically collects trending stories from the web (e.g. reddit) and saves them to a couchbase instance. Another service periodically processes each story and assigns it a quality rating (our rating algorithm is evolving, so we currently update the ratings of "old stories" as well). Finally, on a web server, we run an application that queries an article service via the REST API and generates HTML5 pages.
Challenges I ran into
Python is a well-established language in the NLP community, but we found it rather challenging to build a web application in it.
Accomplishments that I'm proud of
We are proud that Eduard.AI was finally born :-)
What I learned
We learned to use couchbase, implement the REST API in Python, and discovered new CSS tricks.
What's next for Eduard.AI
We would like to allow other writers to use Eduard.AI to proofread their own texts.