My name is Garrett Gu, and I graduated from the University of Texas at Austin in December 2023, where I was a member of the Turing Scholars Honors Program, majoring in Computer Science and Mathematics. I'm now a Software Engineer at Anthropic. Welcome to my home on the web!
This website was designed and built entirely by me, with no libraries, frameworks, or templates except Anime.js. Feel free to take a look at the source code! It is completely unminified.
I have experience programming in JavaScript, Java, C, Go, Python, SQL and more!
My resume is available here.
Note: These projects are all over 5 years old (oops, turns out I'm too lazy to align a video preview with a background image). For more recent work, check out my GitHub!
OOPBoy is a highly-accurate emulator of the Nintendo Game Boy™, written entirely in Java by me and a friend.
It has been confirmed to work with dozens of games, including classics such as Tetris, Super Mario Land, Pokemon Red & Blue, and The Legend of Zelda: Link's Awakening.
OOPBoy has all the basic features you'd expect from an emulator, such as display filters, save-states, and sound. However, it also includes unique features such as rewind, "turbo" mode, and an easy-to-use ROM debugger with breakpoints, core dumps, memory manipulation, and instruction history.
The entirety of this project's source code and executable binaries are available for download here.
TetrisBrain is a genetic algorithm trained for long-term survival, built on top of the Tetris assignment in Dr. Calvin Lin's Honors Data Structures course. The Tetris engine, as well as the genetic algorithm and trainer, were written in Java.
After around two hours of training, it can survive for up to 200,000 tetrominoes, with great average-case performance as well.
... and many more! Dozens of my personal projects are hosted on GitHub.