Please sign in to access this page

Wordle Analytics

Wordle Analytics

3 devlogs
17h 4m

View a comprehensive analysis of your Wordle games and compare to others using this Chrome Extension!

Timeline

📊 Popup Panel: moved all UI from the side panel into a Chrome extension popup. the popup now displays the user's win rate, guess distribution, streak stats, and average guesses. hooked up the analytics system to parse all stored Wordle games from localStorage and convert them into useful statistics. wrote separate modules for streak detection, guess counting, and loss identification. dynamically renders all stats using custom DOM updates—no frameworks involved.
🧭 added tab switching logic to toggle between views in the popup. implemented error handling for incomplete or malformed Wordle games. configured the extension so the action button only appears on the Wordle site.
📉 created a basic chart rendering system using bar elements (no chart.js yet). had to debug some weird edge cases—like when Wordle is played just past midnight before a refresh, causing broken data entries.
🧱 popup is still unstyled and lacks interactivity, but most of the backend logic is now complete.

STILL VERY MUCH IN PROGRESS

Update attachment

side panel:
switched from chrome sidePanel to my own custom side panel embedded in an iframe. animated it to slide in upon completion of a wordle game. configured action.onClicked to toggle the panel.

created guess retrieval system, which loops through all wordle rows to find on which guess the user got the word, and then is displayed in the side panel. all communication from content.js and the side panel is through a complicated postMessage system which took me hours of tedious debugging.

created NYT average guess retrieval system. i am planning to store the NYT average of the day in a firebase database and retrieve it from there, but if it is not there yet, then i will fetch it using the first user of the day's computer and write it in my database for future use. i decided against simply fetch()ing and parsing the DOM of wordle bot for the average, as the actual number is injected via javascript after navigating to the page where the average is displayed. so i decided to write an algorithm which opens the wordle bot in a new tab, scrapes it using executeScript, returns to the wordle tab, and closes the wordle bot tab. although this is very messy and that one user will be perplexed on what happened, i think this is the best method for now. i must make the tab active as it must be in focus to trigger wordle bot's lazy loading.

i wish hackatime recorded all of my debugging outside of vs code...

todo:
- make UI nice
- add line chart comparing user and average
- implement recording of user's wordle games system

Update attachment

created initial structure,
fiddled with mutation observer,
worked out side panel api,
finished manifest.json for now,
initialised toggle.js

Update attachment