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