<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>Thread Digest</title><link>https://tw02qz.cybergalaxy.me/</link><description>A slow blog about frontend engineering and the craft of shipping software.</description><language>en</language>
<item><title>A Practical Guide to CSS Container Queries</title><link>https://tw02qz.cybergalaxy.me/posts/a-practical-guide-to-css-container-queries.html</link><guid>https://tw02qz.cybergalaxy.me/posts/a-practical-guide-to-css-container-queries.html</guid><pubDate>Sun, 09 Aug 2026 09:00:00 +0000</pubDate><description>This post started as a note to my future self. Every few months I relearn the same lessons about container queries, so this time I&#x27;m writing them down.</description></item>
<item><title>Server Components, One Year Later</title><link>https://tw02qz.cybergalaxy.me/posts/server-components-one-year-later.html</link><guid>https://tw02qz.cybergalaxy.me/posts/server-components-one-year-later.html</guid><pubDate>Sat, 08 Aug 2026 09:00:00 +0000</pubDate><description>This post started as a note to my future self. Every few months I relearn the same lessons about server-side rendering, so this time I&#x27;m writing them down.</description></item>
<item><title>What Actually Moved Our Largest Contentful Paint</title><link>https://tw02qz.cybergalaxy.me/posts/what-actually-moved-our-largest-contentful-paint.html</link><guid>https://tw02qz.cybergalaxy.me/posts/what-actually-moved-our-largest-contentful-paint.html</guid><pubDate>Tue, 28 Jul 2026 09:00:00 +0000</pubDate><description>Every codebase has one area everyone is a little afraid to touch. On our team, it was everything related to hydration.</description></item>
<item><title>Why I Stopped Reaching for a State Management Library</title><link>https://tw02qz.cybergalaxy.me/posts/why-i-stopped-reaching-for-a-state-management-library.html</link><guid>https://tw02qz.cybergalaxy.me/posts/why-i-stopped-reaching-for-a-state-management-library.html</guid><pubDate>Thu, 25 Jun 2026 09:00:00 +0000</pubDate><description>I&#x27;ve been working with Storybook for about 4 years now, and my opinions on form validation have changed more than I expected.</description></item>
<item><title>Notes From Migrating a Large App to Vite</title><link>https://tw02qz.cybergalaxy.me/posts/notes-from-migrating-a-large-app-to-vite.html</link><guid>https://tw02qz.cybergalaxy.me/posts/notes-from-migrating-a-large-app-to-vite.html</guid><pubDate>Sat, 04 Apr 2026 09:00:00 +0000</pubDate><description>I&#x27;ve been working with Vite for about 7 years now, and my opinions on design tokens have changed more than I expected.</description></item>
<item><title>The Accessibility Bugs Our Test Suite Never Caught</title><link>https://tw02qz.cybergalaxy.me/posts/the-accessibility-bugs-our-test-suite-never-caught.html</link><guid>https://tw02qz.cybergalaxy.me/posts/the-accessibility-bugs-our-test-suite-never-caught.html</guid><pubDate>Wed, 19 Nov 2025 09:00:00 +0000</pubDate><description>There is no shortage of articles about React. Most of them cover the happy path. This one is about what happened after the happy path ended.</description></item>
<item><title>Design Tokens Are a Contract, Not a Color Palette</title><link>https://tw02qz.cybergalaxy.me/posts/design-tokens-are-a-contract-not-a-color-palette.html</link><guid>https://tw02qz.cybergalaxy.me/posts/design-tokens-are-a-contract-not-a-color-palette.html</guid><pubDate>Tue, 30 Sep 2025 09:00:00 +0000</pubDate><description>This post started as a note to my future self. Every few months I relearn the same lessons about design tokens, so this time I&#x27;m writing them down.</description></item>
<item><title>Building Forms That Don&#x27;t Fight the Browser</title><link>https://tw02qz.cybergalaxy.me/posts/building-forms-that-don-t-fight-the-browser.html</link><guid>https://tw02qz.cybergalaxy.me/posts/building-forms-that-don-t-fight-the-browser.html</guid><pubDate>Fri, 19 Sep 2025 09:00:00 +0000</pubDate><description>A colleague asked me last week why our team cares so much about Core Web Vitals. I gave a rambling answer, so here is the longer, more organized version.</description></item>
<item><title>Shipping Less JavaScript Without Rewriting Everything</title><link>https://tw02qz.cybergalaxy.me/posts/shipping-less-javascript-without-rewriting-everything.html</link><guid>https://tw02qz.cybergalaxy.me/posts/shipping-less-javascript-without-rewriting-everything.html</guid><pubDate>Tue, 20 May 2025 09:00:00 +0000</pubDate><description>A colleague asked me last week why our team cares so much about bundle size. I gave a rambling answer, so here is the longer, more organized version.</description></item>
<item><title>How We Test UI Without Snapshot Tests</title><link>https://tw02qz.cybergalaxy.me/posts/how-we-test-ui-without-snapshot-tests.html</link><guid>https://tw02qz.cybergalaxy.me/posts/how-we-test-ui-without-snapshot-tests.html</guid><pubDate>Wed, 07 May 2025 09:00:00 +0000</pubDate><description>A colleague asked me last week why our team cares so much about design tokens. I gave a rambling answer, so here is the longer, more organized version.</description></item>
</channel></rss>
