Building tools that solve real problems.
I am a Production Director at Radiant Church in Surprise, AZ. I code for fun and to solve problems at church, such as a timers app, a personalized app to show mic assignments for the worship team, and a server that routes API traffic on our network to certain devices.
Capturing the Chaos
Most developers don't understand the pressure of a live production environment. Most directors don't understand the potential of code.
I live in the intersection. I build tools that don't just look good—they survive the chaos of the real world.
I needed full network control without being tied to the rack PC. Companion handles the heavy lifting, but I needed a way to fire commands and mix protocols straight from my phone—wherever I happen to be on campus. Control It creates that bridge, mixing HTTP, OSC, TCP, UDP, and MIDI into a single, handheld interface.
It doesn't just send requests; it speaks the language. I built a modular action system that supports persistent TCP connections (essential for PJLink projectors), UDP datagrams, and complex HTTP headers with authentication.
"Chaining Protocols: Firing HTTP, OSC, and MIDI in a single tap."
A controller that doesn't listen is flying blind. Control It uses JSONPath expressions to parse incoming API data, updating button titles and colors live. Perfect for countdowns and system status.
"Dynamic Polling: Buttons that react to network state in real-time."
Don't give them the master key; give them a keycard. Build a specific grid for the lighting op or lyricist—containing only the buttons they need—then AirDrop it to their device in seconds via "Nearby Share".
"No more clutter. Volunteers get a clean interface tailored to their specific station."
It works both ways. The built-in HTTP Server and MIDI Engine allow Control It to receive commands, turning your iPad or iPhone into an automation node that fires actions based on external triggers.
Empowering the team behind the experience. A centralized hub for volunteer training, gear management, and service coordination. Built to give every team member—from audio engineers to camera operators—the tools they need to succeed.
Managing a production this size requires more than a spreadsheet. I architected a custom web platform that serves as the digital ecosystem for our physical workflow. It handles everything from onboarding new camera operators to tracking thousands of dollars in inventory.
Interactive guides for Audio, Lighting, and Video roles, ensuring every volunteer is certified.
Searchable inventory of production equipment, manuals, and troubleshooting guides.
Mobile-ready interactive lists to ensure pre-service readiness across all positions.
Crew Management Portal
Built to serve the specific needs of each discipline. The platform provides targeted resources for every role on the team.
The ultimate goal of this platform was to lower the barrier to entry. We turned a high-stress technical environment into an accessible creative outlet, allowing volunteers to step into professional roles with confidence.
Experiments, oddities, and practical tools.
A boid flocking simulation built with vanilla JavaScript and HTML5 Canvas.
A gamified portfolio experience. Defend the codebase from bugs while exploring projects. Built with Canvas API.
A retro-styled terminal interface simulation for web applications.
A custom audio mixing engine using the Web Audio API.