Cheating at Wordle? A Python and Streamlit-Based Solver

Introduction
Wordle, by the New York Times, is an ultra-popular game that hundreds of thousands (or more) people play daily. I've personally been playing it for what feels like years now, and it has become a daily ritual.
This weekend, I had the itch to code and create a tool that automatically solves puzzles. I know this has been done many times, but that doesn't mean there isn't something to learn along the way.
Let's take a look at how it turned out!

Word Dictionary
The first thing I needed to source was a list of all the valid words. A simple Google search leads you to many Wordle dictionary sources. I tried a few different versions but ultimately ended up with one that contained just under 15,000 unique five-letter words. Note that this is not the official acceptable solution list but rather a long list of valid choices. This data comes from GitHub under an MIT License.
What are the Most Common Letters?
One of the strategies of the game is to pick common letters. The more common they are, the more potential you have for getting a hit. Let's say I chose the word Vixen; the letters V and X are uncommon, meaning you will have less chance of eliminating possibilities. Let's look at how the different letters stack up by counting the frequency of each letter.

The visualization shows that S, E, and A are the top three, appearing 6,000 times or more, while J, X, and Q have under 300 occurrences each. We'll use this information more in a moment.
Game Rules and Logic
To assist with solving the puzzles, I needed to create a system for storing the different guess options from the game. The rules of the game are simple. Select a five-letter word, and it tells you with three colors:
- Green