The parts I can own together.
Application code, data, infrastructure, search, and measurement—combined when the system needs all of them.
Backend and product systems
I turn messy operational work into data models, APIs, queues, permissions, and recovery paths another person can understand.
Software for operators
I build interfaces for people who need to inspect state, make decisions, recover failures, and hand work to somebody else.
Data pipelines and automation
I clean up inconsistent inputs, use deterministic rules first, isolate model judgment, and keep external actions controlled.
Applied AI infrastructure
I make local and hosted models usable through practical APIs, queues, hardware profiles, output history, and human review.
Shipping and recovery
I ship small containers, visible failure paths, durable state, backups, sensible cache rules, and handoffs somebody else can run.
Search and measurement
I use crawl, rendering, analytics, and performance evidence when those constraints change how the software should be built.