A mathematically optimal, high-performance Wordle Solver built as a responsive desktop application. It calculates the expected information gain (entropy) of every word in real-time, helping you solve any Wordle puzzle in the fewest guesses possible.
- Information Theory-Based Solver:
- Calculates the entropy (expected information gain) for each word in real-time.
- Recommends the Best Info Guess (words like
saletthat maximize narrowing down letters) and Best Possible Solution (words matching current grid feedback that can actually win the puzzle). - Offloads mathematical computations to a multi-threaded Web Worker (
src/utils/solver.worker.ts) to maintain a butter-smooth 60fps main UI thread.
- List Virtualization (Windowing):
- Implements a custom, high-performance DOM virtual list scrolling component in SuggestionsPanel.tsx to only render visible items in the DOM.
- Smoothly handles all 12,972 allowed Wordle words with zero scrolling lag.
- Interactive Board & Keyboard:
- Clean, modern glassmorphic dashboard interface supporting both Light and Dark modes.
- Interactive 6-row Wordle grid supporting letter insertions, deletions, and backtracking.
- Clickable letter tiles: Cycle states between Absent (Gray), Present (Yellow), and Correct (Green).
- Full keyboard shortcuts (arrow keys, backspace, typing, enter).
- Lightweight Desktop Wrapper:
- Built using Tauri v2 to package the application as a standalone desktop app.
- Footprint is optimized to ~8.3 MB by using the system's native WebView2 rendering engine, instead of packaging a full Chromium instance (saving ~170MB over Electron).
├── dist/ # Compiled frontend assets
├── src/ # React frontend application source
│ ├── components/ # Board grid, suggested lists, UI elements
│ ├── data/ # Word database (solutions & allowed guesses)
│ ├── utils/ # Solver logic, pattern calculation, Web Worker
│ ├── App.tsx # Application state coordinator
│ └── index.css # Styling system & theme custom properties
├── src-tauri/ # Rust desktop backend wrapper (Tauri)
│ ├── src/ # Tauri backend main loop & initialization
│ ├── .cargo/config.toml # Cargo proxy SSL configurations
│ └── tauri.conf.json # Window sizes, permissions, and build targets
└── package.json # Scripts & project dependencies
- Node.js (v18+)
- Yarn
- Rust & Cargo (Only required if building the desktop app wrapper)
Clone the repository and install packages:
yarn install-
Run Web app locally:
yarn dev
Opens the app in your browser at
http://localhost:5173. -
Run Desktop app locally:
yarn tauri dev
Launches the application inside a native desktop frame with live hot-reloading.
-
Check Code Quality (ESLint & Typecheck):
yarn lint
-
Build Web production build:
yarn build
Generates optimized static web files in
dist/. -
Build Desktop app binaries:
yarn tauri build
Compiles the Rust binary and packages the desktop app:
- Standalone Executable:
src-tauri/target/release/app.exe(~8.3 MB) - Setup Installer:
src-tauri/target/release/bundle/nsis/WordleSolver_0.1.0_x64-setup.exe(~1.9 MB)
- Standalone Executable: