Hello! I'm Preston!

Fishing

I code, do gymnastics, play the guitar, and do a little fishing!

I am an Eagle Scout, a former competitive gymnast, and a lifelong member of the Church of Jesus Christ of Latter-Day Saints. I graduated from the International Academy of Macomb in 2020 and then served a two-year mission for my church in 🇸🇻 El Salvador.

I have had an interest in programming since I was about 12, when I began to learn how to create games for the NES in 6502 assembly. I finally finished my first game about 3 years later, and then moved on to other languages. Since then, I have developed a love of coding. My journey has taken me through many technologies, like Linux, JavaScript, C#, Kotlin, and eventually Rust!

I graduated with my Bachelor's degree in Computer Science from BYU-Idaho in Spring 2025, and started my Master's degree at BYU in September 2025.

Personal Projects / Technologies

Baby Preston on the computer
"He's fluent in C++ and Fortran!" - My Dad
Year(s)ProjectTechnologiesDetails
2016-2019Simplistic6502 AssemblyFully custom-made game for the Nintendo NES
2016-2019Super Rex DashBinary PatchingROM Hack of Super Mario Bros, including customized levels, graphics and physics
2019Yeet BallJavaScript, Apache CordovaMobile game released on Android through Google Play Store
2020Ray Caster DemoJavaScriptPlayable game demo that uses ray marching to simulate 3D projection
2022-2024PxStreamC, RustFirst-ever graphics file format to support dynamic on-the-fly file compression, using fractal-based logic
2024KronchC, VirtualizationCycle-accurate CHIP–8 emulator, replicating original hardware behavior
2024CairnRustCustom stack-based programming language, specializing in arbitrary precision mathematics
2024CanonGolang, RustCommand-line tool to instantly fetch scripture references, streamlining text-based study workflows
2025WASMCartsWASM, C, RustAdapted and optimized a modern WebAssembly (WASM) runtime to run on legacy platforms including Nintendo DS
LogoDescriptionProjects
HTML5 LogoI taught myself HTML throughout middle school and high school, but didn't do much with it until I learned JavaScript. I also have taken courses in college on the language.Gamedev Springboard, HTML5 Golf
ASM LogoI taught myself 6502 Assembly while in middle school, and I used it to make games for the NES, a game console from the '80s!Simplistic, Super Rex Dash
JavaScript LogoI taught myself JavaScript in the summer of 2019 to get into web and game development. I quickly found a liking for it, and I used it for a long time as my language of choice!Multiplayer Snake, Platformer, Raycaster, Snake Evolved, Yeet Ball
Python LogoI took up Python at first on my own, but also my classes at BYU-Idaho gave me some academic experience in the language as well!Home Care Analysis, Py-Raycaster
C LogoI started learning C for a Computer Systems course, but have since taken other courses at school in the language! I have also continued to personally refine my knowledge of it while developing personal projects.BrainFetch, Killer Boxes
SQL LogoI learned SQL as part of my Computer Science major at BYU-Idaho in the Fall of 2022, and later used SQLite in a mobile development job!
Kotlin LogoI learned Kotlin for an internship in mobile app development during the winter of 2023! I really loved how it introduced me to object-oriented programming.
Clojure LogoI learned Clojure through my Computer Science major at BYU-Idaho, as part of my functional programming certificate. Learning Clojure and exploring the code-as-data paradigm piqued my interest in learning functional programming!
C# LogoI learned C# through my Computer Science major at BYU-Idaho. I built off of the knowledge I gained while learning Kotlin in order to improve my mastery of the language.
Erlang LogoI learned Erlang through my Computer Science major at BYU-Idaho. To up my mastery of Erlang, I rewrote some of my side projects in it.V2X
Dart LogoMy team learned Flutter and Dart for BYU-Idaho's Fall 2023 Hackathon for our submission, which took first place in its category!Neighborhood Nexus
Rust LogoI taught myself Rust for the reference implementation of my Cairn project's code interpreter. I chose Rust because I wanted to learn more about good memory management practices and because the functional programming ideology is something that I am personally very interested in.Cairn