Portfolio

My Website!

Craig's Bio Picture My personal website is hosted on Github Pages. It utilizes Jekyll to handle the build process, transforming Markdown content and Liquid templates into optimized static files at deployment. The site features an About page and a dedicated Portfolio page that showcases my projects. The full source code and documentation can be found in my Github repository.

Jekyll Github Pages YAML Markdown Liquid Templating HTML SASS/CSS JS

NATCAR Design Project

NATCAR Design Project The NATCAR Design Project is an annual design competition where teams construct an autonomous race car that navigates a preset track in the shortest time possible. The core components of the NATCAR feature a microcontroller implementing PID (Proportional-Integral-Derivative) control algorithm for stable navigation, an optical sensor calibrated to detect the 1-inch wide white track, and a high-torque analog servo for precise steering and high-speed maneuvering. The project was a collaborative effort within a team of three talented engineers.

C uVision IDE ARM PID logic Microcontroller Optical Sensor Analog Servo

Slatepedia

Slatepedia Slatepedia is a comprehensive, full-stack digital Encyclopedia with (mostly) complete gaming content found in the Nintendo game, The Legend of Zelda: Breath of the Wild. Built using Node.js and Express, the project features a rich set of RESTful APIs designed with a flat data structure for high performance, ensuring game data is easily accessible for any frontend integration. The full source code, including the database schema and deployment configuration, is documented in my Github repository.

HTML CSS Javascript React Node.js Bootstrap REST API

Purple Air Scriptable

Purple Air Scriptable Purple Air Scriptable is an automated iOS widget designed to monitor real-time air quality data. Built using Javascript within the Scriptable environment, it interfaces with Purple Air’s REST APIs to fetch, parse, and present real-time air quality data (such as AQI) directly to your iOS home screen. Project implementation and setup instructions can be found in my Github repository.

Scriptable JavaScript iOS REST API

Unplayed

Unplayed Unplayed is an enhanced backlog management tool designed to help gamers organize and track their unfinished video game collections by providing a more responsive and organized way to manage a gaming library. Building upon the foundation of Shaun Inman’s original concept, the project utilizes critical usability features, including dynamic search functionality and multi-criteria filtering by title and console. Full source code and implementation details are available in my Github repository.

HTML CSS JavaScript Vue.js Showdown.js

Advent of Code

Advent of Code Advent of Code is an annual series of Christmas-themed programming challenges that tests algorithmic thinking and problem solving agility. From December 1st to December 25th, a new two-part puzzle is released daily, ranging from basic data manipulation to complex optimization. My progress and solutions in Python are documented in my Github repository.

Python