Projects

A collection of passion projects spanning emulation, circuit simulation, hardware, graphics, compilers, and fun creative experiments. Each project represents a deep dive into technology, to learn and grow.

Safe Cracking Robot

Built a chassis and custom PCB controller board to help unlock a safe. Don't worry, it's a friend's safe left behind from previous owners of a newly bought home! Algorithm is a brute-force approach, but with several optimizations that reduce the per-combination check to ~1 second.

Robotics Sensors Algorithms Arduino

Screenshots

Robot Mechanism
Click to view

Fermentation Fridge Controller

Created a custom PCB and PID algorithm to control the temperature of a refrigerator used for fermenting homebrew beer. Successfully created a few good beers. We don't talk about the bad beers...

Robotics Sensors Arduino Raspberry Pi

Screenshots

Initial PCB
Click to view
Complete PCB
Click to view
Controller Software
Click to view
Single Stage to Orbit Beer
Click to view

GameBoy Emulator

Created a fully functional Game Boy emulator with working disassembler, stepping debugger, memory inspector, and sprite/"Pixel Processing Unit" inspector. Complete with cycle-accurate CPU and interrupt emulation.

C++ Emulation CPU Architecture Debugging Tools

Screenshots

Emulation Tools 1
Click to view
Emulation Tools 2
Click to view

CoreTCG Card Scanner

A Magic: The Gathering card scanner using Apple's computer vision models and networking to automatically determine the price of card collections. Found solutions to reduce the search-space, as the cards have yearly permutations that look subtly different.

Computer Vision Apple Vision OCR macOS

Screenshots

Card Capture Setup
Click to view

Arduinix

A multi-level, top-down space shooter game designed to fit within 4KB of RAM. Targeted a "mini console", the Arduboy, with a screen resolution of 64×128 pixels. Focused on CPU and memory efficiency. Final game binary: 2,385 bytes for loaded executable, 151 bytes left for stack (93% usage), 18,656 SRAM bundled executable (65% usage).

C Embedded Systems Performance

Screenshots

Ardunix
Click to view

Conjurcraft

A fun little board game created with my nephew. Started as a game written on cards, for fun with family, but ended with an online implementation of the full rules.

Web Game Multiplayer Card Game

Screenshots

Game Board
Click to view
Story 1
Click to view
Story 2
Click to view
Game Rules
Click to view
Board
Click to view

Laser128 Apple ][ Clone Restoration

Restored the electronics, keyboard, display, and plastic molding of a Laser-128: a famous 1980s Apple ][ clone. Ported Ardunix from pseudo-C++ to C89, fitting within 2KB of total RAM.

BASIC Restoration

Screenshots

Restoration 1
Click to view
Restoration 2
Click to view
Restoration 3
Click to view

Rotating Cross Optical Illusion

Implemented an optical illusion in a stand-alone shader.

OpenGL Shaders

Screenshots

Shadertoy
Click to view

RED FANG - No Air

Implemented a visual effect seen in a music video, through a standalone shader.

OpenGL Shaders

Screenshots

Shadertoy
Click to view

Snake-on-a-shader

Implemented the classic "Snake" game, but through a standalone shader.

OpenGL Shaders

Screenshots

Shadertoy
Click to view

C3208 Retro Computer

Ongoing project where I've developed a toolchain to synthesize PCB boards, using discrete TTL chips, from my own hardware description language. The toolchain can model, simulate, and layout these elements. I've implemented an ALU, memory control unit, and continue to work towards a working 8-bit CPU. The 8-bit CPU is well-defined, has an emulator, compiler, and can be gate-level simulated.

TTL Logic 8-bit Architecture Hardware Design Assembly

Screenshots

Hardware Description Language
Click to view
KiCad Design
Click to view
Simulation Graph
Click to view
Initial PCB Print
Click to view
PCB Memory Tester
Click to view

Digital Top Hat

A wearable LED strip display integrated into a top hat. Created custom PCB design for power and wireless control. Could draw letters, show light-show, or animate for fun.

PCB Design LEDs Wearable Tech Wireless

Screenshots

Top Hat Front
Click to view
Top Hat Back
Click to view

NeoGeo Arcade Cabinet Refurbishment

Refurbished a NeoGeo 1990s cabinet. 140 Games-in-One! Professionally printed a new controller board, replaced all controller parts & electronics, cleaned and repaired original main board.

Electronics

Screenshots

Original NeoGeo
Click to view
Before Repair
Click to view
After Repair
Click to view

LCD Display Switcher

A toy hardware project to show how to directly manage an LCD's control pins.

Hardware Control LCD Switches

Screenshots

LCD Controller Front
Click to view

QuadGame

A C++ implementation of Quadradius, recreating a beloved childhood strategy game with modern C++, networking, and extensive unit testing. Game state was deterministic and hashable to protect against client-side exploits.

C++ Networking

Screenshots

QuadGame Strategy
Click to view

CoreBasic Language

A complete BASIC programming language implementation with compiler and virtual machine runtime, built from scratch for scripting support in other projects.

Compiler Design Virtual Machine Language Design

Screenshots

Simple BASIC program
Click to view

CoreBasic IDE for iPad

A standalone integrated development environment for the CoreBasic programming language, built natively for iPad. Features a full-featured code editor with syntax highlighting, integrated debugger with step-through execution, real-time variable visualization, and interactive program output. Provides a complete programming experience on iOS, allowing users to write, debug, and run BASIC programs entirely on their iPad.

iOS iPad IDE Development Debugger Code Editor

Screenshots

CoreBasic IDE on iPad
Click to view

SimpleJIT Compiler

A BASIC-like language with Just-in-Time compilation targeting ARM64 architecture, exploring modern JIT techniques and native code generation. Compared performance of fibonacci algorithm between interpreter and JIT solution: 1,000x speed improvement!

JIT Compilation ARM64 Native Code Gen C++

Screenshots

Wordle Solver in action
Click to view
Wordle Solver in action
Click to view
Wordle Solver in action
Click to view
Wordle Solver in action
Click to view

SimpleMalloc

A high-performance memory allocator implementation focused on speed and efficiency, exploring advanced memory management techniques. Weekend project for fun.

C Memory Management Performance Systems Programming

Multi-Threaded Ray Tracer

A SIMD-enabled, multi-threaded ray tracer with real-time preview capabilities, supporting complex lighting, textures, reflections, and soft shadows. All based on the nice "Ray Tracing in One Weekend" book series.

C++ SIMD Multi-threading Ray Tracing

Screenshots

Sample Image
Click to view

GameBoyGPT

Small experimental use of ChatGPT API to play Pokemon Blue via Game Boy emulator. Explored directly sending image, parsing the screen with OpenCV, and memory analysis to track success. It was not very effective.

ChatGPT API Computer Vision Game AI Emulation

CoreGlyph

An experimental arena for testing different glyph rendering strategies, focused on CPU side optimizations relating to multi-threading, SIMD, and CPU cache behavior.

C++ Text Rendering Performance

Screenshots

Sample Screenshot
Click to view

Neural Net Snake Game

An experimental neural network trained to play Snake. Explored reinforcement learning techniques, and reward system optimization for game AI.

Neural Networks Reinforcement Learning Game AI Python

CoreSoldier

A 2D side-scrolling shooter platformer with a focus on learning lag-compensating strategies for server-authoritative simulation and client-side prediction. Added physics to explore network syncing of non-deterministic elements.

C++ Networking Physics Lag Compensation

Screenshots

Sample Screenshot
Click to view

2D Sidescroller with Live Level Editor

A 2D side-scrolling game built entirely from scratch in pure C++ and OpenGL with zero dependencies. Featured a live in-game level editor allowing real-time modification of game environments, bipedal character animations with inverse kinematics, physics simulation for realistic movement and interactions, and custom rendering pipeline. All game systems including collision detection, particle effects, and audio were implemented from first principles.

C++ OpenGL Physics Simulation Animation Level Editor

Screenshots

2D Sidescroller
Click to view

D&D Dungeon Generator

A 5th edition Dungeons & Dragons dungeon generator that creates detailed SVG maps with rooms, corridors, and encounter areas for tabletop gaming.

Algorithm Design SVG Generation D&D 5e Procedural Generation

Screenshots

Sample Dungeon 1
Click to view
Sample Dungeon 2
Click to view
Sample Dungeon 3
Click to view

Dungeons!

Implemented a real-world tabletop board game into digital form. It allowed multiple AI agents to act as players, with strict game rules enforcement. Implemented both a human-friendly user-interface to manually play the game against agents, or use a "headless" mode for mass simulation. Ran a competition with friends, to find the best AI agent!

Algorithm Design SVG Generation D&D 5e Procedural Generation

Screenshots

Game View 1
Click to view
Game View 2
Click to view
Game View 3
Click to view

Lego Mosaic Generator

An experiment in generic algorithms and A* path planning to build a LEGO mosaic from a source image, minimizing cost.

Image Processing Color Quantization Optimization LEGO

Screenshots

Lego Build
Click to view
Bill of Materials
Click to view

Machi Koro simulation

Implemented the famous card game in code, allowing various "AI" agents to compete to try and find optimal strategies.

Card Game Optimization

OpenGL Deferred Renderer

A simple exploration of real-time deferred rendering, implemented in OpenGL.

Graphics OpenGL

GLUI2

An OpenGL graphical user interface with dozens of controls to help with application development. Supported Windows, Linux, and macOS.

C++ OpenGL DirectX

Screenshots

Screenshot
Click to view

Laser Cut Dog Puzzle

A multi-layer laser-cut wooden slider puzzle designed as an interactive toy for dogs. Learned details of laser-cut wood design process.

CAD Design Laser Cutting Woodworking Pet Toy Design

Screenshots

Dog Toy - Disassembled
Click to view
Dog Toy - In Assembly
Click to view
Dog Toy - Finalized
Click to view

ECS Rogue

An experimental rogue-like game designed to explore Entity Component System (ECS) architecture patterns and modern game development techniques. Was physics-enabled, rendered through Metal, had scripted agents.

Algorithm Design Game Strategy Metal Objective-C

Screenshots

Screenshot
Click to view

Eve Market Bot

An automated trading bot for EVE Online using OpenCV for screen analysis and automated buy / sell behaviors for profit. Was fun to code, not play.

OpenCV Automation Computer Vision

Wordle Solver

A simple Wordle solver with a GUI that runs on macOS.

Algorithm Game Strategy Objective-C

Screenshots

Wordle Solver in action
Click to view

3D Rendering Tutorial

An online tutorial, and self-published book, designed to teach the fundamentals of 3D graphics through writing a Javascript software renderer.

Education Javascript

Screenshots

Sample Image
Click to view

Penn State Robotics

Worked on various table-top and sidewalk-sized robots that would navigate and solve mazes and paths across campus.

Robotics Navigation Path Planning Maze Solving

Screenshots

Penn State Robot
Click to view

32x32 LED Matrix Artistic Display

An Arduino-controlled 32x32 LED matrix display featuring artistic animations and visual effects. Explored real-time rendering on constrained hardware, color blending algorithms, and creative pattern generation for ambient lighting.

Arduino LED Matrix Embedded Systems Animation

Screenshots

LED Matrix Display
Click to view

Space RTS Simulation

A top-down space simulation and real-time strategy game built in Unity. Features fleet management, resource gathering, strategic combat, and procedural space environments. Implemented AI-controlled factions, physics-based ship movement, and dynamic tactical decision-making.

Unity C# RTS Game AI

Screenshots

Space RTS
Click to view

Rhônes (DwarfCraft)

A 3D voxel-based colony simulation game inspired by Dwarf Fortress. Built rendering engine from scratch using OpenGL with custom lighting system. Implemented job scheduling and entity management systems, basic combat mechanics, resource gathering, and a fully functional user interface for managing complex colony operations.

OpenGL C++ Voxel Rendering Game Simulation

Screenshots

Rhônes Colony Simulation
Click to view

ACM Programming Competition Training

Led training sessions for Penn State's ACM Collegiate Programming Competition team. Taught algorithmic problem-solving, data structures, and competitive programming strategies through recorded lectures and hands-on practice. Helped prepare students for regional and international programming competitions, contributing to the team's success in multiple competitions.

Algorithms Teaching Competitive Programming Mentorship

Competitive Programming Platform

Built a full-stack competitive programming website where users could create accounts, solve algorithmic challenges, submit code solutions, and compete on a global leaderboard. Implemented secure code execution sandbox, automated test case validation, real-time ranking system, and comprehensive problem database. Featured multiple programming languages support and detailed performance metrics for submitted solutions.

Web Development Code Execution Algorithms Database Authentication

Screenshots

Programming Platform
Click to view

Texture Synthesis Tool

A procedural texture synthesis tool that generates seamless, tileable textures from sample inputs. Implemented advanced image processing algorithms including patch-based synthesis and graph-cut optimization to create high-quality textures for game development and computer graphics applications.

Image Processing Procedural Generation Computer Graphics C++

Screenshots

Texture Synthesis
Click to view

Physics-Based Roller Coaster Simulator

Built a fully physics-based roller coaster simulation from scratch using C++ and OpenGL. Implemented realistic physics including velocity, acceleration, friction, and gravitational forces along spline-based tracks. Features dynamic camera perspectives and smooth 3D rendering of track geometry and environment.

C++ OpenGL Physics Simulation 3D Graphics

Screenshots

Roller Coaster Simulation
Click to view

Microsoft Internship: Windows Phone Testing Robot

During a Microsoft internship, built and programmed a robotic testing system for Windows Phone devices. The robot automated phone-to-phone communication testing, using OpenCV for visual verification of UI elements and call states. Verified OS stability and feature functionality across multiple devices simultaneously, significantly reducing manual QA time and improving test coverage for the Windows Phone platform.

Robotics OpenCV Computer Vision Test Automation QA

Screenshots

Testing Robot
Click to view

Flying Simulator

A 3D flying simulator built from scratch in Java using LWJGL (Lightweight Java Game Library). Implemented custom OBJ file parser and loader for 3D models, developed artistic stylistic shaders for visual effects, and created flight dynamics with keyboard and mouse controls. Features terrain rendering, atmospheric effects, and smooth camera movement.

Java LWJGL 3D Graphics Shaders OBJ Parser

Screenshots

Flight Simulation
Click to view