Category
Technical Notes
- ·3 min read
Structured extraction with Pydantic + Claude: guests, topics, and quotes from raw transcripts
Schema-first prompting with Pydantic + Anthropic tool use, a Haiku triage pass that gates Sonnet extraction, prompt caching for the system block, and a single retry that feeds the validation error back into the prompt.

- ·3 min read
Ingesting YouTube transcripts: yt-dlp for subs, Whisper when subs don't exist
YouTube's Data API gives you channel discovery but not third-party caption text — that endpoint is OAuth-only in practice. The honest pipeline is yt-dlp in subs-only mode for captions, and local Whisper as a deeper fallback when no captions exist at all.

- ·3 min read
Building an AI Podcast Index: the Project, the Stack, and What You'll Have at the End
An eight-part build-along: a local tool that ingests a YouTube podcast channel, extracts guests and topics with Claude, lets you clip-search by intent, and generates grounded questions for future episodes. Post 1: the demo, the architecture, and one paragraph per stack choice.

- ·3 min read
Taming a polyglot monorepo: Taskfile, selective CI, and reproducible setup
A monorepo's developer experience is mostly a Taskfile plus a CI workflow. Both should answer one question: what changed, and what depends on what changed?

- ·3 min read
A Vite + React SPA inside a uv monorepo: pnpm-workspace, dev proxy, shared types
Two workspace managers minding their own business — uv for Python, pnpm for JS, with a thin Taskfile on top so you never have to remember both.

- ·3 min read
The killer monorepo argument: Pydantic models, codegen'd to TypeScript, consumed by React
A 20-line codegen pipeline turns Pydantic into JSON Schema into TypeScript. Rename a field on the backend and the frontend stops compiling. That's the whole point of a polyglot monorepo.

- ·3 min read
Designing a uv workspace: package boundaries that survive contact with reality
The hardest part of a Python monorepo isn't the tooling — it's deciding where one package ends and another begins. Two rules — change boundaries and interface boundaries — and a worked example.

- ·3 min read
Why a Python Monorepo: What uv Workspaces Actually Gives You
Most Python monorepo pain in 2024 came from gluing pip-tools, tox, and path hacks together. uv workspaces makes the seam between packages a first-class concept — one lockfile, one resolver, one venv. That's what makes the monorepo worth doing.

- ·3 min read
uv in Docker and CI: lockfile-driven builds that actually cache
Two patterns — multi-stage Docker with uv sync --frozen and GitHub Actions with setup-uv — give you reproducible, fast Python builds with almost no boilerplate.

- ·3 min read
`uv tool` and Single-File Scripts: pipx and Shebang-Python, Replaced
Two uv features outside project management — uv tool for global CLIs and PEP 723 inline-deps for single-file scripts — quietly close out the last reasons to reach for pip or pipx.
