There are a lot of times in life where you are unsure of a document before you are about to submit it somewhere. A lot of people wish they could have someone proof-read texts for them as verification to get peace of mind - that's where our project comes in.

What it does

Mark My Words is a web extension that can take text as input and compare the words contained within against a list of undesirable words to highlight them to the user and suggest appropriate replacements. It uses different filters to flag words for different situations such as filters for work, education and personal documents.

How we built it

We developed it as a web-extension for Google Chrome as it is the most popular browser and a wide audience write their documents online. This meant that we had to create a basic extension interface using HTML, CSS & JavaScript and compare the input text against a list of string-pairs in a JSON file to return suggestions as output to the extension.

Challenges we ran into

We tried to use Python and Flask to host a local server that the extension could send the requests to JSON file at a remote location, but due to time constraints decided to halt development and pursue locally integrated JSON for the demo.

When developing the Chrome extension, a lot of limitations are placed on your progression thanks to the implementation of Content Security Policy regulations. This gave us a lot of errors as we learned how to work around the CSP limitations, also leading us to develop a local non-extension JavaScript version to further develop without worrying about converting it to suit CSP.

No members had much (if any) experience coding with JavaScript, forcing us to learn what was needed on the day.

With most of the development occurring on one JavaScript document, it made group development efforts very difficult as it required members to wait for the other to have stable code worth committing, creating Git branches, creating pull requests, merging and pulling down the new repositories.

Accomplishments that we're proud of

This is two of our member's first hackathon and they've done well to endure the long hours of hard work and pushing themselves to learn whatever is needed for the job regardless of the lack of sleep.

All three members come from different areas (one doesn't even study computing) and we've all managed to utilise our time efficiently and put our skills to use any way we can.

What we learned

Time management skills Communication/organisation skills JavaScript programming Flask web-development Integrating APIs Browser extension development

What's next for Mark My Words

  • Working out the final kinks to link everything together and allow for the integration of custom filters generated by users.
  • Easy to use graphical user interface (GUI) to allow users to create and modify filters without technical knowledge.
  • Checkbox options to turn filters on/off at an instance.
  • Context-aware analysis of larger strings using Natural Language Processing for a deeper understanding to help prevent false positives.
  • Statistic generation to help users improve in areas of their choice (e.g. using less slang, sensitivity training, etc.)
  • Provide a mark between A-F within the add-on that informs users at a glance.
  • An online hub for people to download other’s publicly uploaded filters, with a voting system to allow for the favourites to rise to the top.
  • Automatically apply filters based on external factors such as geo location and time.
Share this project: