David L. Bowman
Hands-on engineering leader. Fifteen years building and rescuing production systems — architecture through deploy, one engineer or fifty.
Telehealth, payments, e-commerce, and compliance-heavy platforms. Mostly TypeScript, Effect, and functional architecture.
Austin, TX
Outcomes, with the work behind them
Building and running engineering orgs
Built a 55-person organization
Co-founded Bright Development and grew it from zero to 55 employees including 47 engineers, across domestic and overseas hiring, delivering 250+ digital products over three years.
$3M ARR from zero
Profitable year over year across three years, as a co-founded agency at scale.
Systems that outlived the engagement
Built acquisition-pipeline technology and predictive analytics as CTO of a real-estate investment firm; the system remains in production years later, unchanged.
Coached a 20-person team
Established a performance coaching framework for an acquisitions team, lifting conversion across the funnel.
Recent notes

Agent Harness 101
Every coding agent is a short loop: ask the llm, run the tools it asks for, and stop when it asks for nothing. The harness is everything around that loop that keeps it safe and durable, and each of its primitives (session, thread, turn, tool, permission and agent) is written here as a real schema. Ends with a scripted demo that follows one message from the moment you press enter to the final answer.

Take the Keys Away From Your Agent
A process that runs model-authored code should hold no credential worth stealing and have no route to anywhere it could send one. Builds that from the bottom up: what TCP, HTTP and TLS actually are, how certificate authorities decide who you believe, and what a proxy can and cannot see. Ends with an interactive walkthrough of one request through every process that touches it, which you can rerun on a flat network to watch the whole thing become irrelevant.

AI Workflows That Don't Rot Your Codebase
AI is leverage only inside a disciplined loop — plan, devil's-advocate, execute, post-mortem, improve your skills. Let it push ahead unsupervised and the same tool quietly wrecks the project: drifting to mimic old code, writing docs that pass typecheck but lie, leaving half-refactors and parallel types behind. A field guide to the loop that ships and the anti-patterns that sink, with downloadable skills and a real brand-book deliverable.
Questions?
Got a question about something I wrote? Send me a note.