Senior Frontend Engineer & Agent Systems Architect.
Xan Torres. I take on messy frontend work: migrations, data-heavy UI, design systems, and AI-assisted delivery where engineering judgment still decides what ships.
Case studies.
Roulette mini-game, missions, and ops tooling.
Ops and gameplay teams needed better tools while a live dual-currency economy kept moving underneath them.
Live govtech migration, no release gaps.
The app needed a new frontend foundation, but municipal users depended on weekly releases that could not pause.
Design-system fixes on mongodb.com.
High-traffic marketing pages needed library improvements, but dozens of consumers depended on those packages.
Shared UI for a private-cloud console.
The console needed reusable UI building blocks and a predictable way to cache and persist server data, instead of components and fetch logic re-solved case by case.
AI-native engineering, with receipts.
AI work grounded in production delivery, shipped features, and tools I run daily.
Agent workflows
Multi-step workflows where an agent reads context, proposes actions, calls tools, and waits for approval before changing anything that matters.
Context engineering
Project rules, reusable instructions, decision records, and memory structured so coding agents follow the codebase instead of guessing.
Human-in-the-loop UX
Review, approval, fallback, and correction flows so AI output stays useful, traceable, and safe to ship.
AI DevTools
Local-first tools for agent orchestration, agent memory, and AI-assisted job search. Built for daily use, not for demos.
Tools I run daily.
Tools I build and run daily for agent orchestration, agent memory, and job-search automation. Each one exists because I hit the problem myself and no existing tool solved it.
RepoKernel
Spec-first sprints for coding agents: isolated worktrees, small task scopes, controlled context, dependency ordering. Nothing merges without passing a review gate.
- TypeScript
- AI agents
- Git worktrees
- DevTools
Engram
Captures facts from any coding agent, gates sensitive writes behind a review queue, and recalls them across tools. Agent-agnostic and MCP-native.
- Python
- MCP
- Local-first
- Agent memory
Shrike
Ingests, filters, scores, and tracks job opportunities with AI-assisted triage and hard rejection rules. I ran my own search on it.
- TypeScript
- CLI
- AI triage
- Job search
What I'm good at.
Architecture that holds up
I map data flow, state ownership, and failure paths before the first component lands. Boring on purpose: fewer rewrites, fewer surprises, and code the next engineer can navigate without a guide.
Frontend craft with receipts
Interaction detail, Core Web Vitals, accessibility, loading states, and the edge cases users always find. On mongodb.com that meant a two-line fetchPriority change with a measurable LCP win.
Product judgment
Comfortable with vague requirements, stakeholder pressure, and incomplete information. I argue for the version users need, cut scope honestly, and delete code that duplicates truth owned elsewhere.
Codebases teams can live with
Typed boundaries, migrations that never freeze feature work, and CI that catches regressions before main. Six stack migrations on one live govtech product without a single release gap.
How I work.
Map the system first.
Before touching components I want to know where data comes from, who owns state, and what breaks under failure. An hour of mapping saves a week of rework.
Use AI without losing control.
AI speeds up implementation, exploration, and refactors. Architecture, review, testing, and product decisions stay human-owned, so velocity never outruns judgment.
Trust one source of truth.
More than once, I have deleted a client-side recomputation of a backend value and made one endpoint authoritative instead. Each time, an entire class of drift bugs disappeared with it.
Ship the useful version.
I work async and remote by default. I make clear calls, write down the tradeoffs, and keep momentum when waiting for perfect consensus would stall the work.
Stack, grouped by capability.
AI / Agentic Systems
Systems where agents do real work under human control.
- LLM APIs
- Structured outputs
- Tool calling patterns
- MCP
- Agent memory
- Context engineering
- Spec-first implementation
- Human-in-the-loop flows
- Evaluation workflows
- AI-assisted developer tooling
Frontend
The core craft: state, data, forms, and rendering at production scale.
- React 17/18/19
- TypeScript (strict)
- Next.js 13+
- Apollo Client
- Redux Toolkit · RTK Query
- TanStack Query · Table
- React Hook Form · Zod
- Storybook
Design Systems
Component libraries teams adopt instead of fork.
- Component library architecture
- Tailwind CSS
- MUI · Radix UI · theme-ui
- Design tokens
- Module Federation
- Style isolation
- Accessibility (WCAG)
- Rive · Lottie
Backend (supporting)
Enough backend to own features end to end.
- Node.js · NestJS · Express
- Prisma · Sequelize · TypeORM
- PostgreSQL · Redis
- WebSocket · REST · GraphQL
- AWS (RDS, S3, EKS, SSO)
- Docker · Kubernetes
Tooling & Testing
Fast feedback loops, regressions caught before main.
- Vite · Rsbuild · Webpack
- Turborepo · NX · pnpm workspaces
- Biome · ESLint · Prettier
- GitHub Actions
- Jest · React Testing Library
- Playwright · Cypress
Work together.
Best fit: B2B SaaS, DevTools, AI-product, and internal-tool teams that need senior ownership of a React codebase. Send me the rough shape: a migration, an AI-native workflow, a design-system push, or a product that outgrew its frontend. I'm best where there is ambiguity, pressure, and real users waiting.