Hi, my name is

Software engineer building production systems and agentic workflows.

6+ years shipping software end to end: architecture, backend, frontend, infrastructure, deploys, and running it all after launch. Software Engineer at Studio White Tiger.

  • 6+ yrsshipping production software, 2019 to now
  • 4featured systems I designed, built, and operate
  • 3-nodeself-hosted render fleet with health-gated deploys
  • 527automated tests passing across four featured codebases

I own the whole path to production.

Production systems

Queues, workers, object storage, auth, billing, and the deploy and rollback machinery that keeps it all up. I run what I build.

Agentic engineering

Coding agents working against written specs, typed contracts, and quality gates that fail the build. They handle the volume; the gates decide what ships.

Product, end to end

From the data model to the pixels to the Stripe webhook to the Lighthouse score. Solo or embedded with a client's team.

Case studies

Four systems I built and still run. Each write-up follows the same path: problem, build, challenges, impact, stack.

01Agency platform · Agentic engineering · 2026

Studio White Tiger Agentic Website Delivery Pipeline

A spec-driven pipeline where coding agents audit, design, build, and ship bespoke small-business websites, held to typed contracts and hard quality gates instead of templates.

  • 7-stage pipeline (audit → brief → theme → build → gate) written as normative specs for agents
  • 8 shared TypeScript packages. WCAG contrast and brief conformance failures stop the build.
  • One-command previews: immutable images, a Lighthouse ≥ 95 gate, and a Go host agent with rollback
TypeScriptNext.jsGoDockerGitHub ActionsPlaywright + axe

02Video SaaS · Solo-built · 2024 to present

ClipMix Twitch highlight reels, rendered on my own fleet

Turns Twitch clips into rendered highlight reels. Managed cloud services handle identity, data, and storage; a self-hosted Apple-silicon fleet does the hardware-accelerated rendering.

  • Distributed render queue on BullMQ, with live progress bridged over Redis pub/sub to SSE
  • Health-gated symlink deploys with automatic rollback across the API and 3 worker nodes
  • Video bytes never touch the app: private R2, presigned URLs, CDN-served thumbnails
Next.jsFastifyBullMQ / RedisffmpegSupabaseCloudflare R2

03WebAssembly tool · Agent-assisted · 2026

RandomSeedGen Minecraft world generation, in the browser

Generates and analyzes Minecraft seeds by running real world-generation code client-side: a C library compiled to WebAssembly and fanned out across Web Workers.

  • cubiomes + a custom C scanner compiled with Emscripten, for Java and Bedrock editions
  • Parallel spawn-biome search across a Web Worker pool, with no server compute
  • Offline pthreads scanner curates featured seeds from 100,000 candidates
CWebAssemblyEmscriptenJavaScriptWeb WorkersPlaywright

04Static web game · Agent-built · 2026

Movie Hi-Lo A 2,000-title game with zero backend

A higher-or-lower movie rating game, built mostly by an autonomous coding agent working from my written task briefs, behind a backup-first data pipeline.

  • 2,000-title catalog built from IMDb's public datasets, with every poster URL verified
  • 2,000+ statically generated pages (one per movie, one per genre) for search traffic
  • 18 of 19 commits authored by the agent; 130 Vitest tests guard the game logic and SEO
JavaScriptNode scriptsVitestStatic hostingAgent workflow

Agents do the volume. Contracts and gates keep them honest.

I use coding agents for real delivery work, not demos. They run unattended, and what makes that safe is the structure around them.

Specs are contracts

Agents work from normative documents (MUST / MUST NOT) where every stage has an artifact and an acceptance test. "Seems done" is not a state.

e.g. the 7-stage design pipeline spec

Artifacts are validated, not eyeballed

Briefs and themes are typed schemas, so a bad brief fails before any code exists. A failing contrast ratio is a failing build.

e.g. @studio-white-tiger/brief, /theme

Gates decide what ships

Typecheck, lint, tests, build, axe, Lighthouse, and conformance checks run against the real container. An agent can't declare victory; the gate does.

e.g. preview:check and preview:quality

Never invent a fact

Unconfirmed business facts become TODO(client). Data passes are backup-first and leave a written report. When an agent's pass fails, the report says so.

e.g. the Movie Hi-Lo catalog pipeline

Experience

Software Engineer @ Studio White Tiger

Jul 2021 to present
  • Primary engineer on full-stack web products, owning architecture, implementation, deployment, and production operations.
  • Built the studio's agentic website delivery pipeline: shared packages, agent build specs, quality gates, and preview hosting.
  • Architected, built, and operate ClipMix, a production video SaaS on a self-hosted render fleet.
  • Work directly with clients and in-house engineering teams: integrating with existing codebases, reviewing code, and aligning on architecture.
  • Run NGINX/Linux production infrastructure across cloud (AWS, Linode) and self-hosted environments.

Software Engineer @ Freelance

Jun 2019 to Jul 2021
  • Built and maintained custom sites, WordPress themes and plugins, PHP integrations, and the Linux servers they ran on for small-business clients.
UC San Diego, Computer Science, 2016 to 2018 Google Cybersecurity Certificate, 2023

Need something built and kept running?

I'm open to software engineering roles and select projects. Email is the fastest way to reach me.