Skip to content

Changelog

Week of October 5, 2026

New

  • HomeLinks to Writing and Changelog added at the bottom of the home page, as rounded panels in each area's colour. They lift with a small shadow on hover, and the arrow in each one turns from a random angle to point right.
  • Site-wideNavigation bar with Home and Writing now appears on every page, including the home page and the 404 page. Before, only the writing pages and the changelog had it. On the home page it fades in once the rest of the page has finished appearing, about 0.8 seconds after load.
  • Site-wideChangelog at /changelog is now public: linked from the home page, listed in the sitemap and open to search engines.

Improved

  • HomeFooter panel now lines up with the links above it: same width (30rem) and corner radius, and 12px below them instead of 6% of the screen height.

Week of September 28, 2026

New

  • BlogWriting index added at /writing, listing every post grouped by year. The home page now shows only the newest three, with an "All writing" link.
  • Gift shopRSS feed added to the gift shop on /writing, as a link you can copy. The shop's contents now change per page.
  • Home"Open for work" tag added beside the "Find me" heading. It sits outside the heading, so screen readers still announce "Find me".
  • HomeSource code link added to the footer, pointing to the public GitHub repository.

Improved

  • Site-wideText selection is now on brand instead of the browser's default blue. A light yellow is set through the CSS ::selection pseudo-element, with a paler tint inside the yellow gift shop.

Week of September 21, 2026

New

  • Blog"How I Obsidian" published, a post about my note-taking setup, illustrated with a folder tree, a tag list and a properties table.
  • BlogPosts on other sites now appear in the writing lists, sorted by date, with the publication's name beside the title.
  • HomeExperience section added above Writing, one line per company with years and role. On narrow screens the years hide first so nothing wraps.
  • WorkTwo new projects from "The color of water": the bio plates and the copy-palette interaction, both linking to the post.
  • WorkExpanded project view redesigned. The image now shows at full size, with close, visit and credits in a narrow column beside it.

Improved

  • BlogFootnote markers are now solid yellow squares centred on the line, instead of outlined boxes raised like superscript.
  • WorkProject titles are the same in the grid and the expanded view. Before, each project had two different labels.
  • WorkPhones no longer open the expanded view for image projects, since the image is already full width. The project link shows without hover.
  • HomeFooter panel keeps a fixed 2:1 shape instead of resizing with its text. On phones it fills the width.

Fixed

  • Blog"Copy palette" button no longer jumps sideways when its label changes to "Copied". Both labels are now centred in the same space.
  • BlogSearch engine previews for /writing and posts used the home page's URL and title, so /writing read as a duplicate of the home page. Each page now declares its own.

Week of September 14, 2026

New

  • Blog"The color of water" published: six fish, each with a photo, a colour palette, and a carousel of interface samples (code, diagram, profile bar) styled in that palette. Palettes can be copied as hex, HSL or CSS.

Improved

  • Site-wideColour system reduced from 19 separate colours to two 10-step scales, grey and yellow, so every shade on the site comes from one of them.

Week of September 7, 2026

Improved

  • HomePage load now fades the four header blocks in 80 ms apart, each rising 6 px out of a slight blur, instead of showing everything at once.

Week of August 31, 2026

New

  • BlogBlog added, with the first post, "Museums and websites". Footnotes open in a side panel, so you never leave the text.
  • BlogBlog navigation added: a Home link and the site's logo, whose sun follows the cursor.
  • BlogPost share images: each post has its own preview image when shared on social media or in chat apps.
  • HomeLatest posts listed on the home page as titles only, in the right column under the introduction.
  • HomeStructured data added to the home page: a schema.org Person in JSON-LD, so search engines and AI agents can read who the site belongs to.
  • WorkImage viewer: opening an image project shows the image on its own with a label beside it, instead of inside a padded card.
  • Gift shopHeader now runs edge to edge with a stamp-sheet texture, and the close button looks cut through the panel.
  • Site-wide404 page explains what happened and links to the pages that exist, replacing Next.js's default page.

Improved

  • WorkPhones show projects only as the grid. The stacked view and its toggle are hidden below tablet width.
  • WorkImage viewer opens larger: up to 78% of the window height on desktop, and edge to edge on phones.
  • HomeHeader layout: both columns now line up at the top and the bottom.
  • Gift shopDownload confirmation: the "Download" label crossfades into a tick instead of switching instantly, and the row no longer changes width.
  • Site-widePerformance on phones: opening a project fades the rest of the page instead of blurring it, which was slow on phones.

Fixed

  • Gift shopGift shop button on phones moved to the bottom of the screen, where it no longer covers the text.
  • WorkProject grid no longer reshuffles when a project is opened. Its space is held until it closes.
  • Site-wideHover effects only apply on devices that can hover. On touch screens they used to stay stuck after a tap.
  • Site-wideKeyboard access: a "Skip to content" link added, footnote markers given a 24×24 px tap area, and article headings given link anchors.
  • Site-wideHeading order: the gift shop's heading no longer comes before the page's main heading in the document, which confused screen readers and search engines.
  • BlogQuotes start in line with the text instead of a margin above it.

Week of August 24, 2026

New

  • WorkGrid view: projects now open as a masonry grid, with the draggable stack one click away. Cards animate between the two views.
  • Work"In service of museums" now links to the live site, with a new video.

Fixed

  • WorkProject videos re-encoded at higher resolution, so they stay sharp when a project is enlarged on high-density screens.
  • Gift shopCopy and download feedback: a blocked copy now says "Not copied" instead of nothing, and file rows no longer say "Saved" before anything is saved.
  • Site-wideSmaller fixes: 13 other issues found in a full review of the site.

Week of August 17, 2026

New

  • WorkStacked view on all screens: cards stay scattered at every width and can be dragged on touch screens. Sideways swipes move a card; vertical swipes still scroll.
  • Gift shopKeyboard shortcut: press G to open or close the gift shop. A key badge shows the shortcut.
  • Gift shopColour swatch can be pulled and springs back when let go, instead of being a copy button.

Improved

  • Gift shopGift shop button appears only after you scroll past the top of the home page.
  • WorkStack order: professional projects always sit above personal ones, so they never get buried.
  • WorkProject videos replaced with new recordings, compressed from up to 13.5 MB to under 2 MB each.
  • Gift shopPortrait in the press kit replaced with a new photo.

Fixed

  • HomeSocial links to LinkedIn, Twitter and Bluesky now work. They were placeholders.

Week of August 10, 2026 (launch)

New

  • HomeHome page launched: name, role, personal projects and contact links in two columns.
  • WorkProjects shown as a scattered stack of cards you can drag. Opening one zooms it in and blurs the rest.
  • Gift shopGift shop: a side panel with résumé PDFs, a contact card, a portrait and bios to copy.
  • Site-wideLink previews: shared links show a title, description, preview image and site icon. Before, they showed as bare URLs.

Improved

  • WorkDragging no longer re-renders the page on every pointer move, so cards follow the cursor smoothly.
  • Site-widePage weight: a development-only toolbar was shipping to visitors. Removing it cut the site's JavaScript from 268 KB to 177 KB (compressed).

Fixed

  • Site-widePhones: controls that only appeared on hover or on wide screens now work on touch screens.