The reading list
Essays, tech notes, and the in-between.
Reading paths
Read end to end.
The Product Operating Rhythm
A five-part series on the work between strategy and shipping — a customer-request intake you can defend, the planning stack from undated vision through 5-year, 3-year, yearly, and quarterly plans without repeating yourself, the quarterly planning ritual as a runbook, stakeholder management as a system a product owner runs, and the recovery playbook for when sales sells a feature that was never on the roadmap.
Start →Greenfield
Engineering, AI, and the businesses we build from scratch. Solo-narrated essay episodes on the rules, layers, and judgment calls behind working with coding agents in real codebases.
Start →Building an AI Podcast Index
An eight-part build-along: a locally-running tool that ingests a YouTube podcast channel, extracts guests and topics, lets you clip-search by intent, and generates questions for future episodes — using uv, FastAPI, Vite + React, and a provider-switchable LLM client.
Start →Agent-ready React
An ongoing series on making legacy React codebases ready for AI coding agents — from CLAUDE.md and rules to hooks, subagents, and skills.
Start →Browse all series →
See every reading path on the site.
- Product·3 min read
Go-To-Market: A Primer for the Night Before
ICP, positioning, motions, pricing, channels, funnel metrics and growth loops — the whole go-to-market surface compressed into one page you can read in twenty minutes before an interview, with the ten things worth recalling under pressure at the bottom.

- AI·3 min read
Past Ten: Running Claude Code for a Team on One Debian Box
The CLAUDE_CONFIG_DIR trick stops being the right answer the moment the accounts belong to different people. On a headless Debian box there is no Keychain, credentials are a 0600 file, and the isolation boundary you want is the one the OS already gives you — plus managed settings, systemd slices, and a token flow that survives having no browser.

- AI·3 min read
Two Claude Accounts, One Machine: Hot-Swapping Subscriptions with CLAUDE_CONFIG_DIR
Your work seat and your personal seat can both stay logged in, run at the same time, and share every agent and skill you've written — because CLAUDE_CONFIG_DIR quietly namespaces the credential entry by a hash of the directory. Here's the mechanism, the full setup for bash and zsh, and a prompt you can paste to have Claude build it for you.

- AI·3 min read
Exit 0 Is Not Evidence: Why AI Coding Agents Need Receipts, Not More Memory
Claude, Codex, Beads, and gbrain each preserve a different kind of truth. One week of silent failures taught me that an agent's report is a claim, memory is a hypothesis, and done requires evidence bound to the exact state that was tested.

- Technical Notes·3 min read
From YouTube to a Scrobble: The Case for Track-Aware Listening
YouTube is a major source of music listening, but ordinary scrobblers treat an album upload or DJ mix as one video. This article maps the ecosystem, explains the splitting problem, and outlines what an ideal open-source solution could look like.

- Technical Notes·3 min read
The Homelab Music Recommendation Field Guide: Every Signal, Trade-off, and Winner
A comprehensive reference for building Spotify-like music discovery at home: identity, metadata, sonic analysis, loudness, behaviour, collaboration, playlists, smart fades, household discovery, and how to choose between competing approaches.

- AI·3 min read
Statusline v2: Three Rows, Clickable Links, and a Live Project HUD
Upgrading a Claude Code statusline past one line: a three-row layout, clickable branch and PR links, rate-limit pacing arrows, and a live project-state row for GSD, OpenSpec, and Beads — plus the full updated script and where to start if you're extending your own.

- Product·3 min read
Cascading OKRs to Department and Product Without a Status Report
Most OKR cascades are arithmetic disguised as alignment — the company KR divided by headcount becomes every team's KR, and nobody notices that no actual thinking happened between the layers.

- Product·3 min read
Where Discovery Interviews and Marketing Research Are the Same Conversation
A product manager and a marketer sitting in the same customer interview, taking completely different notes, never comparing them — this is the most common waste of customer contact in organizations that can afford neither the waste nor the duplication.

- Product·3 min read
Mining Support Tickets into the Opportunity Solution Tree, Not Just a Bug Queue
A support team closing 200 tickets a week while the product team builds features nobody asked for is not a resource problem — it's a signal-routing problem, and the fix is a two-hour extraction pass that turns the support inbox into the richest discovery input your team has.
