Here are some of the projects I am working on.
As someone who loves powerlifting, I am fascinated by the many variations of effective training programs that powerlifting coaches put out online, and I enjoy analyzing these different programs to learn about programming for strength training.
Through years of experience using various training programs, I realized that despite being diverse in their design, all effective programs share the same scientific principles of strength training. I figured it would be extremely helpful for lifters to use an app that would create customizable training programs but would also adhere to the scientific principles for effective programming; unfortunately, I could not find any fitness app that satisfies this criteria to my liking.
So, I built the app "Max&Program", a powerlifting workout tracker that uses the foundational principles strength training to create effective strategies for building strength but also offers the appropriate amount of flexibility to allow users to customize their own training programs. I used React Native for the front-end design and Spark Java for the back-end.
Preserving invariants while giving clients the freedom to be creative in their implementations within the specified constraints is extremely important in computer science, and this idea is also the basis of the design decisions I made when developing this app. Because my intended audience for this app may consist of lifters with a varying range of training experience, I wanted to abstract the underlying scientific training principles this app uses in order to simplify the program designing process for novice lifters who do not necessarily need to understand how the app handles the progression strategy of their own programs. As a result, it was a challenge to determine the best balance of determining which parts of the program creation process should be up to the user's creativity and which parts should be left as invariants. However, I will continue improving the design as I learn more about effective powerlifting programming.
Below is a basic demonstration of how I created the StrongLifts 5x5 program.
Below is a demonstration of using the 1RM calculator.
For Data Structures and Parallelism (CSE 332), my partner and I implemented a chess bot algorithm in Java that efficiently searches for the optimal move up to 6 plys, using both sequential and parallel Minimax.
We experimented with the sequential and parallel Minimax algorithms on 63 fens, or board states, and discovered that using the optimal sequential cutoff for the parallel searching algorithm, our parallel searcher performed remarkably, with average runtimes three times faster than those of our sequential searcher.

For Software Development and Implementation (CSE 331), I explored the Model-View-Controller design pattern where I created a graphical user interface that allows users to find the shortest path between two points on a map of the University of Washington, Seattle campus.
I implemented a Spark Java server for the backend that allows other applications to send requests to query data from a shortest-path finding applications. I used React to design the GUI that draws the shortest path between two user-selected buildings on the campus map.
