After the big mobile push and the typing tests, the site had grown to 37 pages and it was starting to show. This was a housekeeping session — the kind of work that nobody notices unless you don't do it.
- Added background images to all the test cards — the typing test card, plus all 8 mobile test cards. Some were originally PNGs that got converted to JPGs to keep the page weight reasonable. Small thing visually, but the cards looked bare without them.
- Cross-links now connect paired desktop and mobile tests. If you're on the desktop CPS test, there's a link to the mobile Tap Speed test, and vice versa. Same for Reaction Time, Double Click/Tap, and Aim/Accuracy. Helps people find the version that matches their device without going back to the homepage.
- Nav links got alphabetised across all 37 pages. They'd been added in the order they were built, which meant the nav was a mess if you were trying to find a specific test. Boring change, but it makes the site feel more intentional.
- Canonical tags went onto all 8 embed pages. Google Search Console was indexing the iframe-embeddable versions of the tests alongside the real pages, which is exactly the kind of duplicate content issue that quietly tanks your rankings.
- The homepage mode preference switched from localStorage to sessionStorage. The old approach remembered your last visit's device type, which meant if you visited on desktop at work and then on your phone at home, it'd show you the desktop version on your phone. Now it auto-detects fresh each session and only persists if you manually switch.
- A changelog page went in with backfilled release notes for every update since launch. Terminal-styled to match the matrix theme, linked in the footer on every page. Also updated the llms.txt file with all current tests and content pages so AI crawlers have a proper map of the site.