Posts
RSSThoughts on web development, AI, and building things that matter.
Introducing agentpane
A local web UI for AI coding agents. Multi-pane, multi-session, streaming — run Claude Code and Codex side by side from your browser.
Introducing helm
A typed TypeScript framework for AI agents. Replace dozens of tools with two — search and execute — and sandbox LLM-generated code with granular permissions.
Introducing ts-base: A Modern TypeScript Library Template
Build with tsdown, Vitest, release-please, and Biome.
Adding .md URLs for Raw Markdown Content in Next.js
How to add .md URLs to your Next.js blog to serve raw markdown content, inspired by Vercel's docs.
Smooth Page Transitions in Next.js with next-view-transitions
Add smooth page transitions to Next.js using the View Transitions API.
Making a Radix Dropdown the Same Width as Its Trigger
How to make the dropdown content of a Radix or shadcn dropdown match the width of the trigger.