In light of the current pandemic, there have been many social and physical distancing measures put in place across the world. Because of this, many people have relied on communication via messaging apps such as Facebook messenger, texting, etc. Our team wanted to build a lighthearted hack that would be entertaining to its users. Since we’ve always been baffled by slang used in Toronto (also known as the 6ix), we decided take advantage of the vast vocabulary in Toronto slang and build 6ixify.

What it does

6ixify is able to read text within Google Chrome, and “translate” it into Toronto Slang by replacing key words with their Toronto equivalents. It works especially well on Facebook Messenger as users tend to have more casual conversations, leading to funnier translations. It also works on news articles, Google search results, Stack Overflow posts, etc.

How we built it

We built the chrome extensions using the following various web development technologies, primarily JavaScript (but also HTML), in order to interact with the elements on the webpages. Using a Python script, we generated a JSON object that linked common English words to their respective Toronto slang. We then used JavaScript to parse the plain English text, convert English words to their Toronto equivalents, and replace the old text in the webpage.

The entirety of the project was built during the hackathon.

Challenges we ran into

This was our first time developing a Chrome extension, and as a result, we needed to navigate some of the unique aspects that come with it. For example, two challenges we ran into included understanding the limitations of JavaScript in the context of a Chrome extension and realizing that certain DOM elements could/should not be tinkered with.

Another challenge we faced was determining the best method to implement the translation aspects of the extension. We needed to find a solution that was feasible to develop in a day while still being functional and fast. Despite our initial debate over whether to translate specific highlighted text or the entire webpage, we managed to create a solution that quickly and accurately translates text on the entire page, which also best suited our vision for the extension.

Accomplishments that we're proud of

We made it work! Chrome extensions are pretty versatile (once you solve the problems that come along with them), thus building our first extension was really rewarding. This hackathon was our first time coding together as a team so we're proud of finishing it.

Moreover, after testing it out ourselves and sharing it with a couple of our friends, we realized that 6ixify brought a lot of entertainment value - something that's important during the pandemic! For people who don’t know the mapping of the words, each time they send a message is an opportunity for a possible Toronto slang translation. We’re proud of making a fun Chrome extension that has the potential to make any website into something entertaining.

What we learned

There are many differences compared to NodeJS or React when developing a Chrome extension in plain JavaScript, namely the complications involved in reading a local file or calling an API. However, after building 6ixify, we learned that both of these were very doable, it just involved a couple extra steps.

Aside from all this, one of our big takeaways is our increased knowledge of Toronto slang, which we learned from researching the phrases and testing out 6ixify.

What's next for 6ixify

First and foremost, we want to expand the translator’s vocabulary using natural language processing! By going through Tweets, for example, we can gather more interesting and accurate examples of Toronto speak. Increasing the amount of words and phrases 6ixify is able to detect will allow it to be more accurate and versatile. As well, we would like to work on implementing better grammar so that verb tenses can be maintained.

Next, we would like to develop an “autocorrect” function that allows the user to alter their text to Toronto slang prior to sending a message on various messaging apps. Currently, the extension supports messages that have already been sent, however, expanding the scope to cover messages that have not been sent will allow for an improved user experience (and greater entertainment value). We will need to consider privacy issues with this, though.

Lastly, we hope to implement different types of slang moving forward - while our initial focus is on the Toronto area, we hope to expand the extension such that it is able to translate text into slang from all around the world.

+ 5 more
Share this project: