Production Director & Hobbyist Coder.

THE ART OF

Practical

CREATION.

Building tools that solve real problems.

About Me

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.

Socials

Current Focus
>
Production Environment Coding Live Event
LIVE ENVIRONMENT

Capturing the Chaos

The Fusion of
Logic & Art.

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.

Project 01

Control It.

"Network control, simplified."

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.

The Protocol Engine.

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.

  • HTTP GET/POST/PUT/DELETE with custom Auth Headers.
  • OSC Float, Int, String conversion. Auto-release triggers.
  • TCP / UDP Hex string support & configurable line terminators.
  • MIDI Note On/Off, Control Change, & SysEx support.
Multistep Action

"Chaining Protocols: Firing HTTP, OSC, and MIDI in a single tap."

Dynamic Polling.

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 Title Parsing Rule
jsonPath=$[?(@.state=="running")][0].time
// Dynamic Color Rules
jsonPath=$[?(@.state=="running")][0].time contains 00:00:00
jsonPath=$[?(@.state=="running")][0].time does not contain 00:00:00
Live Feedback

"Dynamic Polling: Buttons that react to network state in real-time."

The "Volunteer Problem" Solved.

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."

Automation Node.

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.

HTTP Server: 8080 MIDI Learn: Active
POST /api/trigger
{ "action": "blackout" }
Platform iOS 17.0+
Frameworks SwiftUI, CloudKit, Network
Sync iCloud / Collaborative Grids
Export JSON / Nearby Share
Project 02 — Infrastructure

RADIANT
PRODUCTION.

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.

50+ Active Volunteers
Platform Overview
Role-Based Training
Gear Database
Service Checklists

A Digital Ecosystem.

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.

  • 01

    Role-Based Training

    Interactive guides for Audio, Lighting, and Video roles, ensuring every volunteer is certified.

  • 02

    Gear Database

    Searchable inventory of production equipment, manuals, and troubleshooting guides.

  • 03

    Service Checklists

    Mobile-ready interactive lists to ensure pre-service readiness across all positions.

Crew Management Portal

The Team Elements.

Built to serve the specific needs of each discipline. The platform provides targeted resources for every role on the team.

Audio Engineer

Audio Engineer

Broadcast & FOH
Lighting Engineer

Lighting Ops

GrandMA3 Design
Video Director

Video Director

Switching & Comms
Camera Operator

Camera Op

RED Komodo 6K
Audio Engineer
FOH & Broadcast
Video Director
Switching & Comms
Camera Op
Komodo 6K

Technology serves 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.

50+ Active Volunteers