About

I enjoy building performance-oriented software where architectural decisions have measurable impact. Much of my work focuses on real-time systems — profiling bottlenecks, improving memory behavior, and pushing more work onto the GPU when possible.

I’m especially drawn to graphics and simulation problems because the results are both visible and quantifiable. Whether developing engine-level tooling or large-scale simulations, I like designing systems that remain controllable, predictable, and shippable under real-time constraints.

Game development has been a natural environment for this kind of work, but I also enjoy solving performance problems across the stack and am comfortable working wherever system constraints demand.

Education

Utah Valley University — B.S. Computer Science

Expected May 2026 • Aug 2023 – May 2026 • Orem, Utah

On track for Summa Cum Laude (Current GPA 3.97 / 4.0)

UVU icon UVU

Credentials

GamePlan certificate: UE5 3D Fundamentals

Technical Skills

Languages

Rust C++ C# Python GLSL HLSL

Tech / Focus

Multithreading GPU compute Parallelism Rendering pipelines ECS (Bevy) Data Oriented Design OpenGL Unity Unreal Engine Real-Time Systems Git Game Development

Projects

MoldLab — Unity/C# + Compute Shaders

GPU-driven real-time simulation: ~1M agents @ 60+ FPS, shipped solo on Steam and iOS.

MoldLab simulation showcase GIF (repelling/organic movement)
GPU compute simulation + trail diffusion (emergent behavior)
MoldLab simulation showcase GIF (big-to-fine / parameter changes)
Parameter-driven tuning (ScriptableObjects + runtime UI)

What I built

  • GPU compute pipeline: agent updates + trail writes on GPU to avoid CPU bottlenecks.
  • Minimized GPU ⇄ CPU synchronization: kept state on GPU to reduce stalls and readbacks.
  • Stable performance at scale: profiled dispatch sizes, buffer usage, and per-frame work to keep frame times consistent.
  • Shippable cross-platform Unity project: integrated Steam + iOS features while keeping core simulation portable.
Unity 2021 LTS C# HLSL Compute GPU Simulation

MoldLab 3D — C++17 + OpenGL 4.3 (Compute)

3D emergent-behavior simulation + ray-marched renderer. Accelerated with a coarse JFA distance field.

MoldLab 3D showcase GIF (bursting spores)
GPU simulation + ray-marched rendering
MoldLab 3D showcase GIF (transparency / dynamic movement)
JFA-accelerated distance field + real-time parameter edits

What’s interesting here

  • Compute-driven simulation: spore updates run on GPU; CPU mostly updates settings + dispatches work.
  • Ray marching optimization: two-pass approach using Jump Flood for coarse SDF then a fine SDF for detail.
  • Shader “header injection”: shared struct definitions between C++ and GLSL to avoid duplicated maintenance.
C++17 OpenGL 4.3+ GLSL 430 Compute Shaders Ray Marching JFA / Distance Fields

Platform note: Linux + Windows supported. macOS not supported (OpenGL 4.3 compute shaders).

2D Global Illumination — Unity URP 2D (RendererFeature)

Per-frame distance field (JFA) + distance-field–guided ray marching + temporal accumulation for denoising.

Main showcase
Frame debug (pipeline steps)

Pipeline (high level)

  • Silhouette seeds → Jump Flood → distance field generated each frame.
  • Ray-marched lighting: stochastic sampling + sphere tracing against the distance field.
  • Temporal accumulation: exponential moving average to reduce noise.
  • Performance knobs: downscale, samples/adaptive samples, blur, time constant.
Unity 2022 LTS URP 14 ScriptableRendererFeature GLSL/HLSL Shaders JFA Ray Marching Temporal Accumulation

CycleBound — Unreal Engine 5 (C++)

UE5 project built in ~1 week for a Game Programming class (UVU). Almost entirely C++.

CycleBound menu scene screenshot
Menu scene with stylized background render
CycleBound daytime scene screenshot
Day/night cycle driving lighting changes
CycleBound nighttime scene screenshot with fireflies
Niagara fireflies + nighttime atmosphere

Systems implemented

  • UI/HUD: counters, time display, prompts, pause, win/lose screens.
  • Input: Enhanced Input with gameplay/menu contexts.
  • Time system: day/night cycle with sun rotation and lighting updates.
  • Gameplay: interaction components, physics projectiles, destructibles (Chaos).
Unreal Engine 5.6 C++ Niagara Chaos Enhanced Input

Experience

Technical Support Specialist — Xpress Bill Pay

Oct 2023 – Mar 2025

  • Promoted from end-user support to primary technical contact for cities/municipalities; resolved complex production issues impacting payment systems.
  • Investigated issues via log analysis, isolating failure conditions, and documenting repro cases.
  • Liaison between stakeholders and engineering: translated real-world failures into actionable technical reports.