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

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. A ground-up treatment of TCP, HTTP, TLS, certificate authorities and proxies, then the architecture they compose into: a placeholder key in the runner, the real one in a separate container that injects it on the way out, and a network with no gateway at all. Six interactive instruments, ending with a full end-to-end walkthrough of one request through every container that touches it — which you can rerun on a flat network to watch the whole architecture 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.

Schema.Redacted Across the HttpApi Wire
Schema.Redacted and Schema.RedactedFromValue are encode-forbidden by design — so they cannot be wire fields on either side of HttpApi. The reference repo demonstrates the failure modes with four endpoints, pins the exact encoder error messages in a backend test, and shows the working pattern: plain validated wire values, Redacted.make on receipt, Redacted.value at exactly one audit boundary inside the SQL repo.
Questions?
Got a question about something I wrote? Send me a note.