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.
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.
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
A web app that helps gymnasts and coaches calculate difficulty and “FIG Shorthand” for routines performed on Trampolines.
React - Express - MySQL
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
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