All posts
Decision Models, Jev and Kev
Jev returns probabilities instead of text. Its confidence is arithmetic, not learned, and calibration belongs to the distribution, not the model.
overlay-kit
Swapping a global isOpen flag for one await: what I gained, what I lost, and how overlay-kit's events, reducer, and openAsync core really work.
Shared Language
What to do when a product manager and a developer use the same word differently: ubiquitous language from Evans and grounding theory from Clark.
Harness (Systems) Engineering
After prompts gave way to context engineering, what comes next? Anthropic engineering points to harness design, evals, and containment.
Kalyx
Why I built Kalyx, a headless React DatePicker, and how it differs from Ark UI, React Aria and react-day-picker: UTC ISO values, Intl DST, timezone tests.
How to Save AI Tokens
Measure AI coding token costs with a React POC and cut them using prompt caching, subagents, lean MCP, context engineering, and Cursor Composer.
How Tokens Work
How BPE creates tokens, embeddings feed LLMs, prefill and decode shape pricing, and KV cache and prompt caching reduce repeated-input costs.
AI Agent Tools
A practical map of AI coding agent tools: CLAUDE.md vs AGENTS.md vs SKILL.md, how MCP and Serena work, code intelligence, and GitHub Trending.
State Management
A framework for frontend state management across seven categories (local, global, server, form, URL, external, guards) with React modeling criteria.
Domain Models
A frontend guide to domains, domain models, and domain objects: Entities, Value Objects, the Anemic Domain Model, and separating ViewModels in React.
Reflections on Refactoring the Second Toss Frontend Fundamentals Mock Exam
Refactoring the meeting room reservation app from the second Toss Frontend Fundamentals mock exam: component decomposition and domain logic extraction.
The AI Frontend Engineer
How frontend engineers grow when AI writes the code: new skills in verification, specification, and judgment, drawn from Karpathy, Vercel v0, and METR.
Abstraction
What abstraction means in frontend and how good abstractions differ from bad ones: levels of abstraction, intention-revealing names, composition.
queryKey
How queryKey works in TanStack Query and why it evolved from inline arrays to query key factories and queryOptions, with the TkDodo pattern.
Placing ErrorBoundary
How many ErrorBoundary layers to use, how much screen one failure costs, and what else a retry button has to unlock before it actually retries.
Error Propagation
Throw the same error from seven places and only four reach an ErrorBoundary. This post traces where each kind actually propagates.
Mastering React Fiber
A source-based analysis of React Fiber: Stack Reconciler, Lane priorities, double buffering, the MessageChannel scheduler, and Concurrent Features.
Can Biome Replace ESLint and Prettier?
Biome vs ESLint and Prettier: linting and formatting benchmarks, adoption notes, and a migration guide for this Rust-based all-in-one toolchain.
Zustand, What Makes You ProviderLess?
A source-code analysis of how Zustand manages state without a Provider, including how its module-scoped design differs from the React Context API.
Understanding Compression Algorithms
A practical comparison of ZIP, GZIP, ZSTD, and Brotli, from LZ77 fundamentals to choosing the right format for build artifacts.