Blog
Thoughts on product engineering, AI systems, and building at scale.
Product Engineering Is the Discipline of Narrowing Uncertainty
Good product engineering turns vague demand into smaller, testable decisions across code, UX, data, and operations.
Practical AI Systems Need Boundaries, Not Bigger Prompts
Reliable AI systems come from clear boundaries, fallback paths, and narrow jobs—not from asking models to do everything.
Bitcoin Infrastructure Is Mostly Interface Design
Reliable Bitcoin systems depend less on special technology than on clear boundaries, explicit failure modes, and boring interfaces.
Product Engineering Means Choosing the Right Friction
Good products do not remove all friction. They place it where users and systems can afford it.
Practical AI Systems Need Contracts, Not Just Prompts
Reliable AI work starts with boundaries: inputs, outputs, fallbacks, and review paths that make behavior easier to trust.
Designing Bitcoin Infrastructure for Failure, Not Fantasy
Bitcoin infrastructure works best when it assumes latency, reorgs, and partial trust instead of trying to eliminate them.
Product Engineering as a System of Tradeoffs
Product engineering is the discipline of choosing what to optimize, what to defer, and what to keep simple.
Building Agentic AI Systems at Scale
Lessons learned from building production AI agents for enterprise accounting and ETL workflows.