Technical Product Leader - APIs, data platforms, and AI automation.
I work on one problem in different costumes: taking systems that work but don't scale - bespoke per-client code, legacy monoliths, hand-run data migrations - and turning them into configurable, productized platforms that other people can operate without me.
Lately that means making those platforms reachable by agents. I build API layers and MCP servers over enterprise systems so LLM-driven workflows can act on real operational data, with the auth, audit, and failure semantics that actually implies.
Languages: C# / .NET, SQL (SQL Server, PostgreSQL, Oracle PL/SQL), JavaScript Around that: AWS + Kubernetes, MuleSoft, React / Angular, MCP, Claude Code-driven delivery Domains: finance & accounting automation, regulated-data workflows, enterprise data migration & integration
Most of what I build is in private or employer-owned repositories. What's public is one piece of it: a place I tried the pattern on something low-stakes before trusting it at work.
A modernization pass on a long-lived legacy WinForms tool, taken from a single GUI executable to a four-project .NET solution:
- Replaced an external merge binary (KDiff3) with an in-process 3-way merge engine built on DiffPlex - removing a hard third-party dependency from the critical path
- Split the monolith into a shared
.Coredomain library plus separate hosts, so the merge logic has exactly one implementation behind every entry point - Added a headless CLI, a cross-platform (Windows/Linux) host, and an MCP server - so an agent can enumerate conflicts and drive merges directly
- Wrote an architecture decision record for the call that was reversible-but-costly
The domain is Witcher 3 mods. The exercise is the one I get paid for: retrofit an agent interface onto software written years before the idea existed, without breaking the humans already using it.
Open to conversations about technical product roles in AI-forward fintech, accounting, and compliance automation.


