background
About
I've spent 10 years as a theatrical lighting programmer on Off-Broadway and regional theatre productions. That career taught me things that most engineers don't get from a CS degree: how to manage complex distributed state in real time, how to debug live systems under pressure, and how to build tools that fail gracefully when a show is running and there is no pause button.
I've programmed ~20 productions, working at the intersection of creative vision and technical execution. A contemporary lighting rig has thousands of addressable parameters (fixtures, colors, intensities, positions, effects), all changing simultaneously in response to timecode, manual input, and inter-system OSC triggers. Designing clean state models for that, at the speed of live performance, is what taught me to think architecturally before I ever wrote a line of TypeScript.
I started teaching myself to code in earnest in 2024 and have shipped four substantial projects: a real-time collaborative desktop app (Electron, Socket.io, PostgreSQL), a production-deployed mobile app (React Native, Expo, Supabase), a native macOS app with on-device ML (Swift 6, Apple Intelligence), and a self-hosted containerized infrastructure stack (Docker, Traefik, n8n). In the last month alone: 194 commits across 82 working sessions. Not because the tasks were simple, but because I've built systems that compound output.
That discipline is the direct inheritance from theatre. I work out of a custom Obsidian-based operations stack where tasks, outreach, dashboards, and project tracking all live in version-controlled Markdown with automation layered on top. Multiple workstreams run in parallel; nothing gets dropped. I move fast and correct aggressively: I kick off work quickly, watch what happens, and redirect when something's wrong. I've sharpened a reflexive eye for technically valid but contextually wrong solutions: over-engineered architectures, premature abstractions, tools that solve a problem I don't actually have. I push back on those immediately. Git is my ledger of intent, not just a backup system.
The transition is real and deliberate. The GitHub history shows it. I'm looking for a senior engineering role where 10 years of domain expertise in theatrical production technology is a genuine advantage, either at a company building tools for the entertainment industry, or at any company that values engineers who understand real-time systems, production reliability, and cross-functional collaboration from lived experience.
Technical Skills
Languages
Frontend
Backend
Mobile
Desktop
Real-time
ML / AI
DevOps
Protocols
Testing
Domain Expertise: Theatrical Production Technology
ETC Eos and MA Lighting: expert-level console scripting, show file architecture, and fixture library management.
Programmed ~20 productions across Off-Broadway, regional theater, and major event production. Integrated lighting with video, automation, and audio systems via OSC and timecode.
Production environment mentality: live shows have zero tolerance for runtime failures. That standard shapes how I think about software reliability.
Education
MFA — Lighting Design
University of Nebraska
BA — Music Composition
California Lutheran University