Completed

Summary

Developed a Python Wordle solver with both a heuristic baseline and a lightweight trained strategy model. The project includes an interactive Streamlit UI and a benchmark pipeline for evaluating solve performance at scale.

  • Tag: Hobby/Other
  • Project Type: Personal Project
  • Repository: GitHub
  • Tech Stack: Python, Streamlit

Example feedback pattern from the interactive solver interface.

Approach

1. Heuristic Solver

The baseline solver uses letter-frequency heuristics and candidate elimination:

  • Candidate words are filtered by feedback
  • Early turns prioritize information gain with letter-frequency-biased guesses
  • Later turns exploit narrowed candidate sets

2. Trained Strategy Solver

A lightweight linear model scores candidate guesses using handcrafted features:

  • Unique letter frequency score
  • Positional letter frequency score

A random-search training routine optimizes the feature weights to improve solve rate and average number of turns.

3. Benchmarking

A benchmark runner simulates full games automatically and reports solve rate, average turns, and hard/unsolved words with the current strategy.

Results

Latest benchmark summary (2026-03-27):

  • Words tested: 2315
  • Solved within 6 turns: 2301
  • Failed within 6 turns: 14
  • Solve rate: 99.40%
  • Average turns (solved words): 3.609

Tools and Libraries

  • Python for solver logic, simulation, and model training
  • Streamlit for interactive web UI
  • JSON-based model artifact for trained strategy weights and metrics