Home / Journal

Notes from the desk, and after midnight.

Two kinds of entries. Builder journal: small observations from making things, 50–100 words, no clickbait. Late night thoughts: tiny essays that wouldn't leave me alone.

Builder journal

A coffee cup beside a working desk

AI wrote the scaffolding, I wrote the voice

Built half this site with Claude Code. It handled routes, components, the Sanity schema, the Vercel config. The scaffolding was effortless. But every heading, every belief statement, every sentence on the about page? That was human. AI is an excellent junior developer. It is not a design director. The difference is taste, and taste can't be prompted.

An agent that knows my day before I do

Built a Hermes agent that tracks every minute of my Mac: which apps, which projects, which browser tabs. Every evening it delivers a briefing. At first it felt like surveillance. Now it feels like having a second memory. The best tools don't just record — they notice patterns you'd miss. It caught that I spend more time in VS Code after 10pm than before 6pm. I hadn't noticed that in years.

Thirty seconds

We measured everything in DocPilot against one number: a prescription in about thirty seconds. Not because speed is impressive, but because every second past that is a patient watching a doctor look at a screen instead of at them. The feature list is the surface. The feeling is the product.

Software for people ignored by good software

The most interesting problems are the ones nobody in Silicon Valley is solving. Indian clinics. Small businesses running on WhatsApp and Excel. A teacher who needs to find a school in three seconds. These aren't glamorous. But the moment a real person uses something you made and their day gets measurably lighter — that's the point. Software is the medium. That moment is the whole job.

Late night thoughts

Failure pays better tuition than success

Twenty-plus projects in, the ones that failed taught me everything the shipped ones didn't. MongoDB to SQLite: learned when each database actually wins. TypeScript 6 migration: learned that tooling upgrades don't fix bad code. The Failure Museum on this site isn't confession. It's tuition paid in public. If I could go back, I wouldn't skip a single one of those failures. I'd just watch more carefully.

The portfolio that froze for three years

My portfolio sat untouched for almost three years while NextEra and Big Bear ate every spare hour. I used to feel guilty about that. Now I think the freeze was honest: I was busy becoming the person the website should describe. The site only had to catch up once I did.

The two modes

I've learned I run on two modes and both are necessary. Explorer mode: road trips, strangers, wrong turns taken on purpose. Quiet mode: coffee, code, long stretches where the world goes silent and the work talks. The mistake people make is thinking one mode is the real you and the other is a break. They're both the work. The best ideas happen somewhere around hour two of a drive, and the best builds happen in the quiet that follows.

Coffee shops and the feeling of a room

I notice interior design. The way a room decides how you feel before anyone says a word. Some coffee shops have it: the lighting, the noise level, the distance between tables. I work better in spaces that feel intentional. Maybe that's why I spend so much time on the design of things people will never consciously notice. The best UI is like the best coffee shop: you don't notice it, you just feel good being there.

Longer thoughts live on the blog.

the journal. small thoughts, kept.