Software Engineer
2026 - PresentEpic Games · Remote
Highlighted projects
AI Agent Platform
Engineer across the full stack of Epic's multi-tenant platform for building, deploying, and governing AI agents that work alongside employees in Slack, serving teams across the company. Work spans backend services, database schema, the portal UI, and the CI that ships it, on a stack of Go, React and TypeScript, PostgreSQL, and Kubernetes.
Developer Platform & Automated Code Review
Own much of the developer platform, including an automated code review system built on role-specialized LLM reviewers that run over every pull request, with the constraint that a partial run announces itself rather than passing quietly. Consolidated the release pipeline behind a single dispatch and promoted a set of static-analysis checks to blocking, later retiring the ones that measured net-negative. Cut pull-request CI feedback time by more than 80% and have held it there through roughly 10x growth in merge volume.
Web Portal & UX Overhaul
Lead the UX overhaul of the agent platform's web portal as the implementation engineer, working with a UX designer to take Figma designs through architecture and component decisions to production. The portal was originally generated by an unsupervised AI session, so the work began with an audit against real user workflows to determine which features actually served one. Consolidated inconsistent components onto Epic's internal component library, remediated contrast and accessibility violations, and added the end-to-end test coverage it had shipped without.
Slack Integration & Agent Governance
Built the Slack integration layer for the agent platform, including automated app provisioning so every new agent gets its own Slack app without manual setup. Most of the difficulty there was working around gaps in Slack's API rather than the provisioning logic itself. Also built much of the governance layer that determines where an agent may operate: channel policy, direct-message authorization, scheduled compliance sweeps, and the admin console teams use to manage exemptions.
Platform Code Quality
Lead a platform-wide quality effort: restored a failing integration suite to passing, backfilled unit coverage across the service packages, migrated subsystems off hand-written SQL onto generated schema-checked queries, and retired dead code behind an automated orphan gate.
Approvals Platform
Own core pieces of an approvals-as-a-service platform that other teams integrate with in two API calls: a team describes who signs off, whether an Okta group, a manager chain, or a quorum, and the service collects the decisions in Slack and issues a signed callback. Shipped workflow versioning and the approvals dashboard, and designed the production authentication model: OIDC at the load balancer for people, scoped API keys for services. Hardened it for AWS production with Aurora credentials fetched at runtime from Secrets Manager, migrations moved into the deploy pipeline, and a Playwright end-to-end suite on isolated per-run infrastructure.
Legal Service Desk Automation
Own the serverless automation behind Epic's legal service desk: AWS Lambda integrations routing agreements between DocuSign, Jira Service Desk, and the contract-management system across NDA execution, signer declines, and music-license reporting. A small surface with high consequence, since a failed NDA or license record means a person is blocked. Most of the work goes into making failures legible: validating inputs up front, rewriting errors to name the missing field instead of an internal fault, and adding the test coverage the pipeline had been running without.
Parallel Development Environment
Designed and built a desktop application for working several tickets at once: each task gets an isolated git worktree and an automatically created tracking ticket, with context retained and summarized outside the session so work survives restarts. It shows whether a session is waiting on the engineer or the model, tracks remote CI per branch, exposes an MCP server that lets sessions coordinate, and generates a detailed daily work summary. Built to remove my own friction, it became how I work, and I continue to extend it.