Changelog

A running log of updates, features, and improvements to this site.

/optimise Skill & Codebase Audit

New /optimise skill for comprehensive codebase auditing. Opus orchestrates 8 parallel subagents across documentation, changelog, CLAUDE.md accuracy, GitHub remote, codebase discoverability, build/lint, bundle analysis, and code quality. First audit run: fixed stale Roadmap content, corrected ethos analytics claim, updated 4 documentation files, added 5 missing changelog entries, archived completed roadmap.


Post-Merge Code Review

Fixed SydneyTime interval leak (stored in ref for proper cleanup), Turnstile race condition (await token with 5s timeout before submit), and restored missing index param for experience separators on For Recruiters page.


v2.2 — Design Overhaul

Removed Instrument Serif font (all text now Inter). Static page headers replacing animated ones. Live Sydney time in footer. New FloatingNav section navigation on xl+ screens and FloatingScrollbar scroll progress indicator. Footer stripped to copyright and live clock.


v2.1 — Code Review Fixes

Stack item URLs made optional (renders div instead of anchor when no URL). Removed phantom category from projects. Fixed React key prop warning.


v2.0b — Contact Form Upgrade

Added Cloudflare Turnstile invisible CAPTCHA for spam protection. Interest checkboxes (Enterprise IT, AI Integration, Consulting/Advisory, Events/Speaking/Interview, Recruitment, Other). New "Get In Touch" button in navigation and For Recruiters page.


v2.0 — Learning Pages, Stack Expansion & Writing Workflow

TIL renamed to Learning with /til redirect. Listening and Learning pages surfaced in navigation. Stack expanded with Hardware and Sites sub-pages. Canonical tagging system (lib/tags.ts). New /writing blog creation skill. Blog draft support. Search icon added to nav for Command Palette.


v1.5.1 — Codebase Review Hardening

Full codebase review with 17 fixes: Zod frontmatter validation for blog posts, numeric date sorting, rate limiter memory cleanup, services array cap, CV blob search tightening, command palette animation compliance, metadataBase for OG images, Modal/CommandPalette/Navigation effect cleanup, clipboard error handling, a11y role groups on toggle buttons, error boundaries for dynamic routes, honeypot ref migration, and dead type removal.


v1.5 — Cross-Browser Visual Testing

Expanded Playwright visual regression from 2 to 6 browser/device projects: Desktop Chrome, Desktop Safari, Desktop Firefox, Mobile Chrome (Pixel 5), Mobile Safari (iPhone 14), and Tablet (iPad). 300 visual comparisons across all routes and themes. Added visual-review custom agent for automated cross-browser QA with device-grouped screenshot output for manual review.


v1.4 — Nav Refresh & Typography Tokens

Inline nav layout with name, dot separator, and rotating text on a single row. Updated rotating text variants (AI Native, IT Operations, Enterprise Engineer, Cloud Services). Added typography token system (.type-* classes in globals.css) for centralized text styling — edit one place to restyle across the site.


v1.3 — Bug Fixes & Polish

Restored For Recruiters nav button. Vercel Analytics integration. Fixed locale to en_AU, scroll throttling for ScrollProgress, timer cleanup in Navigation, URL leak in CvDownload. Added aria-pressed to toggle buttons and OpenGraph metadata to dynamic routes. Cleaned up orphaned test snapshots and changelog inaccuracies.


Recruiter Call Booking

Added Cal.com-powered inline booking widget on the For Recruiters page. Recruiters can schedule a 15 or 30-minute introductory call via Zoom or Google Meet directly from the site.


v1.1 — Recruiter & Social Optimisation

Hamburger-only navigation (removed desktop nav links), menu restructured with primary/secondary sections. For Recruiters page overhauled with real CV experience, CV Download and LinkedIn moved to top. All location references updated to Sydney. Listening and TIL pages hidden from nav, command palette, and sitemap.


Visual Regression Testing with Playwright

Added Playwright for automated visual regression testing. Baseline screenshots covering all 27 routes across desktop and mobile viewports in both light and dark themes.


Design Upgrade for v1

Simplified navigation with universal hamburger menu, new Gallery and For Recruiters pages, and Colophon renamed to Ethos.


About Me Redesign & Listening Page

Redesigned About page with personal story section, professional experience timeline, and updated recruiter content. New Listening page for music, podcasts, and other audio recommendations with external links.


Modern Features: Command Palette, Page Transitions & More

Added ⌘K command palette for keyboard-driven navigation and search, page transition animations via View Transitions API, scroll progress indicator for blog posts, external link indicators (↗), copy-email button in footer, and a new ethos page describing how the site is built.


Homepage, Projects, Stack & Contact Overhaul

New homepage hero and tighter layout, project category system with filtering and 6 new projects, unified stack sub-pages with generalized table components and color-coded badges, and contact form streamlined with company field and updated options.


Stack Page Rebuild & Docs Refresh

Rebuilt stack page as hub with professional, personal, and creative sub-pages. Professional gets a full-width table layout with category badges. Updated CLAUDE.md and README.md with current architecture.


Custom Domain Live

Migrated choonchew.com DNS from Framer to Vercel via Cloudflare, with SSL and www redirect


Polish & Production Deploy

Vercel Blob CV storage, dynamic imports for Framer Motion, CSS-based RotatingText, SEO metadata on all pages, a11y focus states, FadeIn scroll wrappers, icon hover feedback, and spacing consistency


Code Cleanup & Documentation

Dead code removal, stale content cleanup, repo hygiene pass, and CLAUDE.md with project conventions, architecture notes, and design constraints


Content Pages & Micro-interactions

Writing page, Sites bookmarks, TIL entries, scroll animations, nav underline transitions, and dim-on-hover lists


Projects, Stack Grid & CV Download

Projects CMS with detail pages and slug routing, 3×3 stack grid, and enterprise email-gated CV download for recruiters


Minimal Redesign

Complete front-end rewrite: stephango.com-inspired minimal aesthetic, light/dark theme with Flexoki color tokens, narrow content column, and refined typography


MVP Complete

Next.js 16 scaffold with Tailwind and Flexoki palette, homepage with hero and project cards, about page, stack page with bento grid, MDX blog CMS, contact modal with Resend email, and responsive mobile navigation