Hi, I'm Jack.
I like making cool things. 

Cool things...

About Me

Profile Image

With a dual focus on Embedded Systems and Artificial Intelligence, I am uniquely exploring the full spectrum of computer science, from ultra-low-end hardware to the hyperabstracted realms of AI.

I love problem solving, algorithm development, and optimization, and I love the logical puzzles of coding and debugging complex problems. I find that this type of problem-solving is typically more frequent in the extreme ends of the spectrum of abstraction.

Want my full Resume?

My Roles

Strategy Lead, FSGP 2023 Champions - Solar Gators

Created real-time telemetry data analysis tools for our team's solar-powered racecar to run live regression calculations in the racetrack pit using TypeScript. Used the analysis tools to manage and determine team race strategy during the 2023 Formula Sun Grand Prix, in which our team won the overall competition. Created race physics simulation using Go, used in conjunction with a Python optimization solver, to optimize energy efficiency and find the ideal driving strategy for the complex 11-turn track.

Solar Gators

Azure Software Engineering Intern - Microsoft

Wrote C# code for a business-to-business Azure .NET service which manages employees through automated workflows which can be configured to run tasks upon employee hire, transfer, or departure. Implemented a feature to facilitate the transfer of owned groups upon employee departure, allowing the manager to select new group owners. Created an API endpoint to process the delegation response. Developed a generic implementation, allowing future tasks to easily implement delegation.

Microsoft Atlanta Office

Embedded Systems Intern - Oak Ridge National Laboratory

Wrote C and C++ code deployed to MSP430 chips on custom PCBs for a localized tracking system designed for use with containers of fissile nuclear material. Used light propagation latency from ultra-wideband communications between container devices and anchor devices to find one-dimensional distance. Implemented multilateration to determine container locations, calculating distance information between container devices and anchor devices around a target area with precisely placed anchor devices.

Oak Ridge National Laboratory

My Projects

KoalaClient - Typescript LLM Interface

Developed an advanced interface for the OpenAI API using TypeScript, React, and Tailwind CSS to better integrate LLMs into my personal workflow. Added OpenAI Whisper speech transcription, and a searchable prompt pallet to insert frequently used prompts from a custom user-defined library. Implemented tweakable model configuration overrides, unrestricted conversation history editing, and syncing across devices via Google Drive. Deployed the project as both a website and Electron desktop app.

KoalaClient Screenshot

FSGP Simulation - Go Race Simulation + Python Solver

Developed a detailed race simulation CLI program using Go that simulates a given race strategy (velocity at each point in the track) and uses physics constants of Sunrider, the Solar Gators racecar, to calculate energy consumption and duration for a lap of the specified strategy. Implemented an optimization solver written in Python using the mystic library to run thousands of iterations of the CLI simulation, utilizing gradient descent to find the optimal race strategy for a given track layout and target energy consumption.

EndGame2 - Rust Chess Engine

Developed a UCI-compatible chess engine written in Rust that uses minimax tree-traversal over a variety of custom board analysis algorithms. Implemented alpha-beta pruning, zobrist position hashing, and capture-resolve quiescence searching to improve search times and engine performance. Inspired by Sebastian Lague's series on chess engines, and developed as a way to learn Rust.

EndGame2 Screenshot

Sunrider Pit GUI - Typescript/Sequelize Race Management Tool

In only 4 days, developed an interface for performing real-time regression analysis on live telemetry data from Sunrider. This interface enables users to seamlessly chart various statistics over time, remove anomalous data points, perform regression analysis over user-defined time intervals, and extrapolate future estimates based on the regression data.

RTOS Tetris - Custom RTOS for Tiva C Series

Developed a fully custom RTOS from the ground up, to be used with Tiva C Series processors. Programmed a fully featured Tetris game from scratch using the RTOS. By heavily optimizing the thread context switching and minimizing unnecessary redraws (on a very slow display), the resulting gameplay is snappy and lag-free, despite only running on a 16MHz processor.

More Coming Soon...

Let's make cool things together.

Interested in working with me?

Send me an email.