I am a Senior Year Software Development student at the University of Utah. My
degree has an emphasis on game development, and I have extensive experience with game engines such
as Godot and Unreal Engine 5. I am also the programming team lead of Utah Student Robotics, a
student organization that competes in the annual NASA Lunabotics competition against 50 teams.
Factoring in my coursework and experience as a Teaching Assistant for the School of Computing, I
have formidable talent in multiple domains of software development along with the confidence to
communicate and collaborate effectively.
Utah Student
Robotics
The competition is simple. Move the most amount of material from the excavation zone into the
dump zone, and don't hit any rocks on the way. In 2024, we did just that. We moved the most
amount of moon dirt (LHS-1) out of all 50 teams from universities around the US and the military. My main contribution
was implementing all of the software that allowed 2 pilots to simultaneously commandeer the
robot wirelessly and in real time using 6 camera feeds streamed using FFmpeg over RTP. We also
received points for being able to dig and dump autonomously using state machines. Due to our
robust and noise-resistant communication protocol over UDP, we had the smallest bandwidth
usage whilst having enough camera coverage and fidelity to avoid using the arena provided
cameras.
Technology
The entire robot is programmed with Rust. tokio is used as the core model of
execution, and wgpu with compute shaders written in WGSL is used
for any GPU programming. To promote rapid prototyping, a feature-complete robotics framework
was developed from the ground up in the footsteps of the Robot Operating System. This
framework was called unros and is now superceeded by
urobotics for the 2025 competition. The mission control software is developed in Godot and is used to
visualize the robot's state and direct the robot's autonomous actions.
There are about 3.22 billion self-reported gamers around the world, and the market size is about
220 billion USD and only going up. Despite how lucrative this might seem, I studied game
development at the University of Utah because I wanted to make games that I would enjoy playing.
The first proper game engine I learned was Godot and it is by far the engine I have the most
experience in. Here at the U, I have taken courses in Unreal Engine 5 and GameMaker, and am now
in Senior Capstone using Unity. Shown below is a game I made in my Traditional Game Development
class.
Bola was the first game I made in college. It
was a 2D physics platformer made in Godot that underwent several iterations, many of which I
wrote during my classes. My friends enjoyed it and influenced its development, so of course
the next natural step was to add leaderboards and multiplayer. The leaderboard database API
was implemented in Rust with Rocket but have since been taken down. Multiplayer was
never finished. I subsequently practiced developing multiplayer with an FPS shooter, also in Godot,
and was able to have 2 players and a spectator fight against one AI, but that was the extent of
it.
Web Projects
0.5x
5x
Masses
3 Body Problem
A simulation of three gravitational bodies written in Rust and compiled to WebAssembly.
The simulation is done on the GPU using WebGPU through wgpu and
wgsl. Rapier2D was used to implement physics collisions. The color
of each pixel represents which body has the most gravitational influence. For example, the
region near the blue circle is shaded blue as most of the gravity is coming from the blue circle.
However, at the exact center of the canvas at the beginning, the color is black as the gravity
from all 3 bodies cancel each other out.
Thanks for taking the time to check out my website. This may be my largest frontend project so
far.
If you are a recruiter, consider checking out my resume.
If you are interested in viewing the source code, check it out
here.