Legacy migration
The old system stays in production and becomes the source of truth. The new
architecture grows next to it, takes over load and function, until what remains of the
old system is only the part that genuinely earns its place. No cutover date, no
downtime, no lost records.
Sybase, Oracle, DB2, PostgreSQL, Java, Go
New applications
Web applications, internal tools, interfaces, and the infrastructure underneath
them. From the first sketch to running in a Kubernetes cluster — from one person who
also understands the database.
Angular, Go, Rust, PostgreSQL, Kubernetes
AI agents and Claude
Agents that work on real systems — the codebase, the ticket queue, the database
— rather than on a demo. With harnesses that measure whether the result is actually
better, and the honesty to say where the effort does not pay off.
Claude, Claude Code, MCP, agents, RAG, evaluation
Search visibility
SEO as an engineering problem: pages delivered as finished HTML instead of an empty
JavaScript shell, structured data, clean sitemaps, fast loads. So that a catalogue of
tens of thousands of items can actually be found.
Prerendering, JSON-LD, sitemaps, Google Merchant, Core Web Vitals