Inspiration

Our inspiration to develop a Chrome extension that tackles a variety of popular word games, including Wordle, NYT Connections, NYT Letter Boxed, and Semantle, was driven by our passion for both gaming and learning. We saw an opportunity to challenge ourselves with complex problem-solving while enhancing our skills in web development and game theory. This project has not only provided us with a fun and engaging learning experience but also a valuable opportunity to explore new technologies and deepen our understanding of game mechanics.

What it does

Our extension simplifies the gameplay of various word games, such as Wordle, NYT Connections, NYT Letter Boxed, and Semantle. When you open the extension while playing one of these games, it displays the correct answers, providing a helpful hint or complete solution. Additionally, by clicking "Auto Solve," the extension will automatically simulate inputs to swiftly and effectively solve the game, ensuring a seamless and enjoyable experience for users.

How we built it

We built our Chrome extension using vanilla JavaScript, leveraging its simplicity and compatibility with the Chrome browser. This allowed us to create a lightweight yet powerful tool that seamlessly integrates with any Chromium-based browser.

For the Semantle game, we designed a Flask API to handle model predictions and assist in solving the game. This API serves as the backend for the extension, providing the necessary functionality to analyze the game state and determine the optimal moves. By separating the frontend extension from the backend API, we achieved a modular and scalable architecture, enabling us to easily expand the extension to support other games in the future.

Overall, building this Chrome extension was an exciting and rewarding experience. It challenged us to think creatively and problem-solve effectively, and we are proud of the final product we have created. We hope that users will find our extension useful and enjoyable, and we look forward to continuing to improve and expand its features in the future.

Challenges we ran into

During the development of our Chrome extension, we encountered several challenges that tested our problem-solving skills and creativity. Two major challenges were the mathematical calculations involved in generating a vector representation of a word and finding the similarity score between two words, particularly in the context of the Semantle Game

Calculating the vector representation of a word required us to devise a method to convert the word into a numerical format that could be used for mathematical operations. We explored various approaches, such as using character frequency or positional encoding, to represent the word as a vector. Additionally, finding the similarity score between two words involved complex mathematical calculations, such as cosine similarity and Euclidean distance, which required careful implementation and optimization to ensure efficiency and accuracy.

Another significant challenge we faced was simulating user input to bypass Chrome's isTrusted flag restriction. Chrome restricts extensions from simulating user input events, such as clicks or key presses, unless they are triggered directly by user interaction. To overcome this limitation, we had to devise creative solutions, such as using content scripts to inject code into the webpage and interact with the game elements indirectly, without triggering the isTrusted flag.

Despite these challenges, we were able to overcome them through collaboration, experimentation, and perseverance. By leveraging our collective skills and knowledge, we were able to develop innovative solutions and ultimately create a robust and functional Chrome extension that enhances the gaming experience for users.

Accomplishments that we're proud of

Applying complex mathematical models to our algorithm in order to solve Semantle. We learned how to embed words using Word2Vec and applying an algorithm with these tools was really accomplishing.

creatively solving problems such as forcing communication between our extension and hidden data using an injected script tag.

What we learned

We learned about word embeddings with Word2Vec, linear vectors in high dimensional vector spaces, working with RESTful APIs, safe web communications using SSL.

What's next for Mega problem solver

The next possibilities for the Mega problem solver could include adding more solutions to games such as connections and creating an AI to solve the connections with intelligence rather than web scraping. Also, we would like to post this extension to the chrome store.

Github Repos

https://github.com/kylewandishin/mega-problem-solver-backend/tree/main

https://github.com/kylewandishin/mega-puzzle-solver

Share this project:

Updates