A new look
Serif text, fewer boxes, and more space for the work and writing.
Field notes on backend architecture, developer tools, infrastructure, and learning in public.
3 recent entries
Serif text, fewer boxes, and more space for the work and writing.
What I do well with AI coding agents, where my habits cause problems, and what I want to change. A personal review based on two assessments of my chat history.
A Brave extension that captures a complete web page as one PNG, with a local preview and no image uploads.
12 older entries
6 entries
A self-hosted uptime monitor and public status page built for Cloudflare Workers.
I built Bopop, a keyboard-first launcher for macOS. Local-first, no Accessibility permission, zero dependencies. Free and open source.
A growing list of practical tips for developers running Claude Code day to day. Small settings and habits that make the agent faster, cleaner, and less noisy.
Claude Meter 2.0 reimagines your Claude usage as energy you have left — a playful redesign with a card per account and make-it-yours customization. Free and open source for macOS.
I wanted to see my Claude Code usage before hitting the wall. So I built a macOS menu bar app — and learned that picking the right data source matters more than the parser.
A practical guide to how AI goes from answering questions to running systems. Most people say they 'use AI' when they mean they ask ChatGPT questions. AI adoption has levels.
1 entry
Type-Safe, Sortable Identifiers for Modern Applications
3 entries
From no-code to Python to assembly language. As a software maker aspiring to build a business, what's your game plan?
The Laravel Skeleton offers a rapid and efficient way to start a new project by scaffolding a Laravel app with minimal setup.
PHP in the Modern Web: A Relic or a Resilient Force. Here's my 2 cents.
2 entries
How to design a system that supports millions of users? What are the challenges to scaling it up to serve millions of users?
Choosing a database primary key between big integers, ordered UUID, and nanoid.