Skip to content
// writing

Posts on development — Page 4

A mix of technical deep-dives, career reflections, and dispatches from the road.

CSS field-sizing: Auto-Growing Textareas Without a Line of JavaScript thumbnail
developmentJul 2, 2026· 4 min
CSS field-sizing: Auto-Growing Textareas Without a Line of JavaScript
The auto-growing textarea has been a JavaScript rite of passage for years. A single CSS declaration now does the whole job, and it works on inputs and selects too.
read more →
Fallow: A Codebase Truth Layer for Agent-Written Code thumbnail
developmentJul 1, 2026· 4 min
Fallow: A Codebase Truth Layer for Agent-Written Code
Fallow is a Rust-native tool that maps your whole TS/JS codebase to catch dead code, duplication, and architecture drift. Here's how it fits alongside ESLint, Prettier, and agent guidelines when you're reviewing PRs you didn't write.
read more →
Building a Claude Code Status Line With Usage Bars and a Clickable Repo thumbnail
developmentJun 29, 2026· 4 min
Building a Claude Code Status Line With Usage Bars and a Clickable Repo
A walkthrough of a custom Claude Code status line that renders context and rate-limit usage as colored bars and turns your repo name into a clickable link.
read more →
The Navigation API: Stop Wrestling with history.pushState thumbnail
developmentJun 29, 2026· 4 min
The Navigation API: Stop Wrestling with history.pushState
The Navigation API hit Baseline in early 2026, giving SPAs a single, purpose-built place to intercept and manage routing. Here's why it finally replaces the History API.
read more →
Grimicorn Neon: When a Calm Theme Goes Loud thumbnail
developmentJun 28, 2026· 4 min
Grimicorn Neon: When a Calm Theme Goes Loud
The high-voltage variant of Grimicorn keeps every semantic role and swaps in eight electric hexes. Here's what changes, what doesn't, and the contrast tradeoff that makes neon-on-black a deliberate choice.
read more →
scheduler.yield(): The One-Liner That Fixes Your INP thumbnail
developmentJun 28, 2026· 4 min
scheduler.yield(): The One-Liner That Fixes Your INP
A practical look at scheduler.yield(), the browser API that breaks up long tasks and keeps the main thread responsive without the setTimeout penalty.
read more →
Building Grimicorn: One Palette, Fourteen Tools thumbnail
developmentJun 27, 2026· 4 min
Building Grimicorn: One Palette, Fourteen Tools
How I turned a single calm, low-fatigue color palette into matching dark and light themes for VS Code, terminals, Obsidian, Claude Code and ten other tools — all generated from one source of truth.
read more →
GraphQL Fragments: Let Each Component Own Its Data thumbnail
developmentJun 25, 2026· 4 min
GraphQL Fragments: Let Each Component Own Its Data
GraphQL fragments let each component declare exactly the fields it needs, eliminating overfetching and the hidden dependencies that make GraphQL codebases painful to refactor.
read more →
CSS @property: Typed, Animatable Custom Properties thumbnail
developmentJun 22, 2026· 4 min
CSS @property: Typed, Animatable Custom Properties
Unregistered CSS custom properties can't animate — they just snap. @property fixes that by giving the browser a type, a default, and an inheritance rule, unlocking smooth transitions for gradients, counters, and design tokens.
read more →
// the newsletter
Don't miss the next one