Hi, I'm James.

I make stuff.

Full Stack | AI | Web Dev
Chrome Extensions | Math
Theoretical Computer Science
Game Development
Maverick and me

About me

I am a Software Developer at U-Haul. In May 2024, I graduated from Arizona State University with a Bachelor of Science in Computer Science. I like working on fun projects and solving exciting problems in math and computing.

When I'm not working, I like reading, playing guitar, and hiking with my dog, Maverick.

Projects

  • Honors Thesis

    Design of a Graphical Multi-Input Surface Editor for Mid-Air Haptic Parameter Control Aug 2023 - May 2024

    Mid-Air Haptics describes the generation of tactile feedback on a person's skin in mid-air, without direct contact with a physical device. Uses are being explored for healthcare, safe driving, education, and XR gaming. As part of my thesis, I made an application which helps developers visualize and design end user mid-air haptic perception.

  • Snake Game Finite Automaton

    Theoretical finite automaton using ≈1.656 E+619 states to represent an implementation of the JavaScript Snake Game Apr 2023

    This project was an experiment to satisfy my curiosity. In my Theoretical Computer Science class, instructors used several complex finite systems as examples of systems which are best represented by a turing machine, rather than a finite automaton. This left me unsatisfied - while they were absoultely correct that a turing machine is more appropriate for complex systems, they are still finite, and I wanted to explore what a finite representation of them would look like. As an Honors Contract with my professor, I decided to represent the snake game as a finite automaton. The snake game has finite bounds, and a finite number of things can happen within those bounds, so it followed that it could be represented by a finite number of states. That number of states ended up being higher than I expected (more than the estimated number of atoms in the known universe), but that just led to a very interesting project.

  • Interactive Euclid's Elements

    An interactive program for visualizing Euclid's Elements May 2024

    Elements is a renowned ancient Greek treatise consisting of axiomatic geometric constructions. Many of these constructions can be completed using just a straightedge and a collapsible compass. Users of Interative Euclid can work through the first three propositions of Euclid's Elements, or experiment with their own straightedge and compass constructions. Completed as an Honors Project with my Ancient Greek professor.

  • WIPS

    A 32-bit RISC processor simulated down to the wire in JavaScript supporting 32 MIPS instructions and 5 syscall operations Feb 2022 - Apr 2022

    This was a personal project that took me by surprise. I wanted to learn more about computer architecture and started playing around with concepts in JavaScript. Feature creep ensued as I learned about more concepts that I wanted to play with, and I ended up dedicating all of the free time I could create into research and development on this project for two months. WIPS uses strings of 1's and 0's and basic logic gate operations to simulate the complete data path of a RISC processor. The website GUI assembles real MIPS programs into binary machine code that can be executed by the processor.

  • Meow You See Me

    A "Just for Fun" Chrome extension that hides collectible cats on every webpage users visit. Over 10,000 active users. Oct 2021

    This was a fun project I made when first getting into Chrome Extensions. When enabled, the extension hides a cat sprite at a random location on each new tab a user visits. There are various characters for users to find and collect.
    While the extension is not exclusively for a younger audience, it is something I would have found especially enjoyable when using the school computers in middle and high school. The analytics indicate that this demographic is a large portion of the user-base. It brings me a lot of joy knowing that students today are making memories with my extension similar to software that I once used and still remember fondly.