<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>Plain Compiler</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/</link><description>Practical writing about frontend engineering by Rafael Kim.</description><language>en</language>
<item><title>Shipping Less JavaScript Without Rewriting Everything</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/shipping-less-javascript-without-rewriting-everything.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/shipping-less-javascript-without-rewriting-everything.html</guid><pubDate>Tue, 22 Sep 2026 09:00:00 +0000</pubDate><description>A colleague asked me last week why our team cares so much about hydration. I gave a rambling answer, so here is the longer, more organized version.</description></item>
<item><title>What Actually Moved Our Largest Contentful Paint</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/what-actually-moved-our-largest-contentful-paint.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/what-actually-moved-our-largest-contentful-paint.html</guid><pubDate>Sun, 05 Jul 2026 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>Building Forms That Don&#x27;t Fight the Browser</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/building-forms-that-don-t-fight-the-browser.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/building-forms-that-don-t-fight-the-browser.html</guid><pubDate>Wed, 20 May 2026 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>
<item><title>A Practical Guide to CSS Container Queries</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/a-practical-guide-to-css-container-queries.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/a-practical-guide-to-css-container-queries.html</guid><pubDate>Fri, 17 Apr 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>Design Tokens Are a Contract, Not a Color Palette</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/design-tokens-are-a-contract-not-a-color-palette.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/design-tokens-are-a-contract-not-a-color-palette.html</guid><pubDate>Sun, 29 Mar 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 design tokens, so this time I&#x27;m writing them down.</description></item>
<item><title>How We Test UI Without Snapshot Tests</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/how-we-test-ui-without-snapshot-tests.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/how-we-test-ui-without-snapshot-tests.html</guid><pubDate>Sat, 21 Feb 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 server-side rendering.</description></item>
<item><title>The Accessibility Bugs Our Test Suite Never Caught</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/the-accessibility-bugs-our-test-suite-never-caught.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/the-accessibility-bugs-our-test-suite-never-caught.html</guid><pubDate>Sun, 13 Jul 2025 09:00:00 +0000</pubDate><description>There is no shortage of articles about Svelte. Most of them cover the happy path. This one is about what happened after the happy path ended.</description></item>
<item><title>Server Components, One Year Later</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/server-components-one-year-later.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/server-components-one-year-later.html</guid><pubDate>Tue, 01 Jul 2025 09:00:00 +0000</pubDate><description>There is no shortage of articles about Playwright. Most of them cover the happy path. This one is about what happened after the happy path ended.</description></item>
<item><title>Notes From Migrating a Large App to Vite</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/notes-from-migrating-a-large-app-to-vite.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/notes-from-migrating-a-large-app-to-vite.html</guid><pubDate>Fri, 27 Jun 2025 09:00:00 +0000</pubDate><description>There is no shortage of articles about Vite. Most of them cover the happy path. This one is about what happened after the happy path ended.</description></item>
<item><title>Why I Stopped Reaching for a State Management Library</title><link>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/why-i-stopped-reaching-for-a-state-management-library.html</link><guid>https://us1005qzt.jp2haozu-naookg-okak.cc/posts/why-i-stopped-reaching-for-a-state-management-library.html</guid><pubDate>Fri, 02 May 2025 09:00:00 +0000</pubDate><description>For a long time I treated bundle size as something to worry about later. Then a small change to our Vite setup turned into a week of debugging, and &quot;later&quot; arrived all at once.</description></item>
</channel></rss>
