frontend engineering
Plain Compiler
Hi, I'm Rafael. Practical writing about frontend engineering by Rafael Kim. I write about bundle size, accessibility, form validation and whatever else I'm learning this month.
Latest writing
- ·
Shipping Less JavaScript Without Rewriting Everything
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.
#javascript#typescript#css - ·
What Actually Moved Our Largest Contentful Paint
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.
#performance#a11y - ·
Building Forms That Don't Fight the Browser
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.
#javascript#typescript - ·
A Practical Guide to CSS Container Queries
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'm writing them down.
#tooling#javascript - ·
Design Tokens Are a Contract, Not a Color Palette
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'm writing them down.
#javascript#tooling#performance - ·
How We Test UI Without Snapshot Tests
Every codebase has one area everyone is a little afraid to touch. On our team, it was everything related to server-side rendering.
#css#typescript#tooling - ·
The Accessibility Bugs Our Test Suite Never Caught
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.
#css#a11y#react - ·
Server Components, One Year Later
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.
#a11y#css - ·
Notes From Migrating a Large App to Vite
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.
#css#react#tooling - ·
Why I Stopped Reaching for a State Management Library
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 "later" arrived all at once.
#react#tooling