Welcome to
Writes code, and some other things
A pile of articles, a few small games, and some tools built along the way.
8
Blog
5
Games
10
Tools
Latest posts
View allWhy I built yet another personal site
Not because there was nowhere to write, but because there was nowhere to put writing, small games and tools side by side.
Pushing first-load JS to zero with Astro islands
From "async import" to "hydrate on demand" — what each of the three lazy-loading layers actually solves, with the code that runs on this site.
Games
View allSnake
The classic Snake. Arrow keys, WASD, or swipe on touch screens. High score saved locally.
2048
The classic number merger. Push tiles with arrows or WASD; equal numbers combine. Reach 2048 to win. Swipe on touch, best score saved locally.
Tetris
Classic falling-block puzzle with a 7-bag randomiser for fair pieces, a ghost landing preview and hard drop. Arrows to play, buttons on touch.
Tools
View allJSON Studio
Format, minify, sort, validate with exact error positions, and diff two JSON documents. Runs entirely in your browser.
Timestamp
Convert Unix timestamps and dates both ways, auto-detecting seconds vs milliseconds. Also shows ISO 8601, RFC 2822, relative time, day-of-year, ISO week, and a multi-timezone table.
Regex Lab
Test regular expressions live: highlight hits, list every match with positions and groups, preview replacements, and start from built-in templates for email, URL, IPv4, dates and more.
