Archive
Every entry.
Frontend engineering, interface design, browser behavior — written down while building, kept in one register.
entries
- No.001Organizing React Apps Around FeaturesUsing feature-oriented organization and dependency rules to keep a React application easy to change.frontendreact
- No.002Improving Image CLS and LCP at the SourcePractical techniques for preventing image-related layout shifts, improving LCP, and reducing transfer size.frontend
- No.003How Far Should You Style a Scrollbar?How to adjust scrollbars with the standard scrollbar-width and scrollbar-color properties without sacrificing usability.frontend
- No.004What Should a Component Test Prove?Using Storybook and Playwright to decide what a component test should actually prove.frontendtesting
- No.005Designing for Edge Cases and Smoother CSS AnimationsCollaborating on design edge cases and measuring and improving CSS animation performance.frontendtalk
- No.006Understanding Server Actions Through FormsA current look at Server Components, Server Actions, forms, pending UI, optimistic updates, and cache invalidation.frontendtalk
- No.007Handling Query Parameters Correctly with URLSearchParamsThe basics of URLSearchParams and how to preserve repeated query parameters when converting from an object.frontendnote
- No.008Migrating to Astro 3 Without Breaking View TransitionsNotes on the View Transitions and dark-mode changes I needed when updating this site to Astro 3.frontendastro
- No.009How Should a React App Represent Failure?From JavaScript exceptions and React Error Boundaries to typed, recoverable failures.frontendnote
- No.010Before You Use input[type=number]When input[type=number] is appropriate, what its semantics imply, and when a text input with inputmode is the better choice.frontendnote
- No.011Validating Next.js Boundaries with ZodApplying Zod 4 schemas to query parameters, React Hook Form, and Server Actions in Next.js.frontendzodnextjs
- No.012Starting a React Project TodayChoosing a React framework and writing clearer code by removing unnecessary Effects.frontendtalk
- No.013Keep React State Where It BelongsUsing declarative UI to keep React state minimal, local, and easy to reason about.frontendreact
- No.014Start with Bad CodeWhy starting with a large React component can be safer than splitting too early, and how to decide when an abstraction has earned its place.poem
- No.015Turning Fragments into Knowledge Through Writing and SpeakingHow blogging and speaking can turn fragments of experience into connected, reusable knowledge.essay
- No.016Four Design Principles for Building React with AIFour principles for guiding AI toward a consistent frontend codebase: colocation, clear logic boundaries, UI conventions, and useful context.frontendreact
- No.017Give Every Tool a Role: My 2026 Development EnvironmentA look at my current development environment and how I choose tools, with a focus on security, clear responsibilities, and minimal configuration.development
- No.018Building Products with AI: From Questions to Pull RequestsA practical workflow for refining product decisions with AI, keeping Issues small, and reviewing code, documentation, and behavior as one system.developmentai