
2 min read
Structuring FastAPI Services That Survive Past the Prototype
FastAPI makes it trivially easy to ship a working endpoint in ten minutes. Keeping that codebase sane six months and thirty endpoints later takes a bit more structure.
Read postWriting

2 min read
FastAPI makes it trivially easy to ship a working endpoint in ten minutes. Keeping that codebase sane six months and thirty endpoints later takes a bit more structure.
Read post
2 min read
Most Python projects start as one file and stay that way far longer than they should. Notes on the project layout, dependency, and typing decisions that actually pay off as a codebase grows.
Read post
2 min read
Prompting a model in a playground and shipping an AI feature real users depend on are two different jobs. Notes on evals, latency, cost, and the failure modes that only show up in production.
Read post
2 min read
Most chatbots fail on tone and scope, not technology. Lessons from building conversational assistants that actually resolve issues instead of frustrating the person typing.
Read post
2 min read
The line between a lean MVP and a broken one is thinner than most teams think. What actually belongs in a first release, and what's safe to cut without gutting the product's reason for existing.
Read post
2 min read
Notes from moving this exact site from Vite/CRA-style tooling to the Next.js App Router — feature folders, Tailwind v4, and the React Three Fiber gotchas along the way.
Read post
2 min read
How the animated starfield background and interactive 3D scenes on this site are built with @react-three/fiber and drei, and what actually matters for performance.
Read post
2 min read
A short list of TypeScript patterns that consistently pay off in real projects — discriminated unions for content blocks, typed motion variants, and narrow prop types over 'any'.
Read post