Inspiration
Have you ever struggled with learning a new language? Don't know what to study to become conversational? We have had the same issues in the past and that's why we created ChunkZ. ChunkZ uses your internet browsing history to generate a CSV (comma-seperated values) file that you can import into the flashcard application of your choice. By taking the words that you use most in your native language and translating them into the foreign language you are learning, you can become conversational, faster! This is especially useful for immigrants trying to assimilate into a foreign country, whether that be in the US or elsewhere, especially if they need to acquire technical terms related to their job (which is often online).
What it does
ChunkZ uses your browsing history to see the most frequent words you interact with in your native language, and creates flashcards in your target language. You can choose your target language, the parts of speech (adverbs, nouns, etc) that you'd like to focus on, and the commonness of the words you want to learn.
How we built it
We used a python nltk package to find parts of speech of the words, and the deep translator package to translate it to foreign languages. We used HTML and JavaScript for the chrome extension and the user interface.
Challenges we ran into
During the design phase, we encountered several challenges. Initially, we had uncertainties about which aspects of a language our application should be capable of handling. One example of such complexity was open compound words, like "diving board," which necessitated context for accurate translation, a challenge often faced by translation services such as Google Translator.
Furthermore, we experienced difficulties with the translation service itself. On the first night of implementation, we reached the maximum number of allowed translations without realizing it, so we thought we had non-deterministic code.
Finally, we initially wanted our web-scraper to be able to save all the URLs seen in a browsing session into one file on the user's computer. However, Chrome Web Extensions are in general unable to modify preexisting local files on a computer due to the associate security risks. So, we instead had to download a new file for every URL seen, and then iterate through those files when we wanted to aggregate the generated CSV files.
Accomplishments that we're proud of
We are proud of being able to connect the user and the back-end to produce the product that can be put into any top flashcard app to assist learning new languages. Though we ran into challenges, we persevered and were able to find new packages and tools despite it being the first time we used flask.
What we learned
We learned how to use Flask, how to resolve merge conflicts in Github, and what security issues eixst with Google Chrome web extensions such as the inability to modify preexisting local files on a user's computer.
What's next for ChunkZ
We have pseudo-code for handling compound words that we believe will work, once we have time to implement it. We would also like to integrate with Google Drive so that a user doesn't have to store files locally on their computer. Instead, they would be able to have a single file in the cloud that contains the URLs of all the websites they would like to generate flashcards for. We'd also like to eventually cut out the CSV step for the user: ChunkZ would be able to directly interface with APIs like Anki and Quizlet to update your flashcard deck as you browse.
Log in or sign up for Devpost to join the conversation.