Wordle Solver

NodeJS - Puppeteer

A hilariously inefficient pseudo-brute-force solver for the viral web game Wordle - making use of NodeJS and Puppeteer to emulate a web browser and make educated guesses.

Wordle Solver image

How it works

Essentially this solver uses Puppeteer to open the web page and repeatedly type guesses and eliminate potential solutions from a pool. Imagine divide-and-conquer, just way more convoluted than necessary. After trying any given word, the program keeps track of which letters are present, absent and those that are already in the correct place - this data is used to filter down the dictionary and inform the next guess. Currently, there's no additional heuristic selection to choose the next word from a list of candidates - simply put it's entirely unnecessary (most words will be solvable somewhere in the order of 10 guesses). Do note that if you intend on running this (why?!) you'll need >=Node 16 as I make use of ESM.


Turns out nested Shadow DOMs make things hard - read the source code at your own peril, you were warned.


In all seriousness, building this solver has genuinely proven a valuable exercise - I've never touched web scraping/emulation before and, despite being thrown in the deep end, I'd say it's gone pretty well.


Personal Portfolio image

Personal Portfolio

My new website to act as both a CV and showcase for projects. Featuring experience, education, projects and light/dark modes - it's built with Gatsby with speed and SEO in mind.

React - GraphQL - TailwindCSS

Trampoline Difficulty App image

Trampoline Difficulty App

A web app that helps gymnasts and coaches calculate difficulty and “FIG Shorthand” for routines performed on Trampolines.

React - Express - MySQL

Classify image


Static site development using WordPress as a content backend - with several custom plugins to support various content structures. By taking advantage of Gatsby, the site feels extremely fast to use, even when navigating dynamic content.

React - Gatsby - WordPress

Harler image


WordPress theme development including custom plugins for structured data and robust SEO. Every element was built with future customisation in mind, abstracting away the need for technical knowledge.

PHP - WordPress - jQuery