Get a little Wordle help using information theory.
Explore the docs »
View the Application
Wordle has taken over the world (or at least the first 5-15 minutes of my mornings). Inspired by 3Blue1Brown's video about information theory, I believe we can learn to make better guesses by studying how the Wordle Solver "thinks" (similar to the way Chess players study games played against computers). Using the Wordle Solver can tell us:
- What are the best starting words?
- What word should I pick to narrow down my options given the words guessed so far?
- What are common prefixes and suffixes that fit word validation constraints?
If you're interested in the math behind the project, check out my high-level design document.
- Java Spring Boot: Backend framework to develop the algorithm logic
- React.js: Frontend framework to develop the client website
- AWS Elastic Beanstalk: Cloud service for managing web environments and deploying the application
To get a local copy up and running, follow these steps.
Install these prerequisites and clone the repository.
git clone [email protected]:valarao/wordle-solver.git
Now, you can test the backend with code coverage reports.
- Build locally
mvn clean jacoco:prepare-agent install && mvn jacoco:report
- Analyze coverage report at
/target/site/jacoco/index.html
You can also build the project, run the executable .jar
file, and view the bundled client.
- Build locally
mvn clean install && java -jar target/wordle-solver.jar
- Preview client on
localhost:5000
Alternatively, you can quick-preview the frontend client separately.
- Build locally
mvn clean install && java -jar target/wordle-solver.jar
- Navigate directly into client folder
cd src/main/ui
- Install node modules
yarn install
- Start development client
yarn start
- Preview client on
localhost:3000
(frontend changes automatically detected)
Distributed under the MIT License.
I'd like to strongly acknowledge 3Blue1Brown for inspiring this project.