Full-Stack Software Engineer — LLM & Agentic Systems

I build LLM systems that survive contact with production.

Full-stack engineer (TypeScript, React, Node, Postgres, AWS, Snowflake) with 4 years building data-platform products — including production AI-assisted features at Epicor — now specializing in LLM integration and agentic systems: local-first RAG pipelines, MCP tooling, human-in-the-loop agents with measured run costs. A theatre-trained communicator who translates hard technical capability into business value — comfortable owning the room in a demo, scoping a POC with a client, or aligning cross-team work.

What I build

Agents that ship, not demos

A local-first agentic-RAG intake system: a tool-use agent on a local LLM that turns unstructured reports into deduplicated, human-approved tickets. Semantic retrieval, fail-safe approval gates, and per-run cost telemetry that labels every figure measured or assumed.

The process is the artifact

A from-scratch MCP server exposing a production-style app to Claude Code as first-class tools, plus CI guardrails across 4 GitHub Actions workflows — including automated LLM code review. 264 commits across 23 active days, every change ticketed, tested, and squash-merged through gated PRs — a governance layer since extracted into ticket-workflow, an open-source package.

Owned end to end

This site runs on infrastructure I provisioned by hand: a DigitalOcean droplet, nginx, Cloudflare Full-strict TLS on an Origin CA cert, firewall hardening, and a GitHub Actions atomic-deploy pipeline using release directories and a symlink flip.

From capability to business value

I don't just build the system — I scope it with you, demo it, and make the case for why it matters. Where I help teams and clients:

  • LLM integration, shipped. Embedding Claude into real products — RAG over your own data, tool-use agents, MCP tooling, and human-in-the-loop approval flows — built to survive production, not just a demo. Local open-source models behind the same seam when the data calls for it.
  • Private & on-prem when it matters. When data can’t leave the building, the same system runs on your hardware instead: no per-call cost, offline-demoable, and a cloud model stays one config swap away rather than a dependency.
  • Proofs of concept & architecture. Discovery to a working proof: scope the problem, choose the right seam, and build something you can actually evaluate — a running POC and a clear trade-off, not a slide deck.
  • Demos & technical enablement. Translating capability into business value: live demos, architecture walkthroughs, and the plain-English "why this matters" for technical and non-technical stakeholders alike.
  • Delivery you can audit. Client work runs on the same governed system I build my own products with: every change ticketed, tested, and merged through gates nobody can bypass — including me. You get the speed of an agent-driven workflow with a paper trail, and a codebase your next engineer can pick up cold.

Running a business rather than hiring? Here’s what that looks like.