Skip to main content

Projects

Here is a collection of my flight software, avionics, and embedded systems projects.

Machine Learning & Python 2025 – 2026

Evolutionary Machine Learning Stock Optimizer

To find the best stock combinations, I developed a Python-based genetic algorithm that evolves portfolio models over time to maximize the Sharpe Ratio. The system trains on historical ETF data pulled directly from the Yahoo Finance API, and I tied it all together with a custom HTML/CSS dashboard for real-time tracking.

Python Genetic Algorithm
Operating Systems & C 2025 – 2026

Pintos Operating System Kernel & Memory Allocation

For the Pintos educational kernel, I developed core operating system components from the ground up in C. A major focus of this project was thread synchronization, where I implemented priority inheritance to resolve priority inversion on locks and semaphores.

C Kernel Development
Embedded Hardware & IoT 2026

OBD-II Diagnostic Logger & Telemetry

To get better diagnostic data during vehicle maintenance, I engineered a custom OBD-II telemetry logger for a 2007 Honda Accord using an ESP32 microcontroller. The system extracts real-time CAN bus data, allowing me to monitor live engine metrics and pull diagnostic trouble codes directly from the car's computer.

ESP32 C++ CAN Bus
Edge AI & IoT 2026

Edge AI Security Camera & Cloud Alerting

I engineered a smart security system that deploys the YOLOv4-tiny object detection model natively on a Raspberry Pi 5. By optimizing the system for edge computing, it identifies threats locally in real time. This approach drastically cuts down on latency and bandwidth usage while still reliably triggering automated cloud-based alerts when an object is detected.

Raspberry Pi 5 YOLOv4-tiny Computer Vision
Systems Programming & C 2025

Custom Dynamic Memory Allocator

I developed a custom, thread-safe dynamic memory allocator in C to serve as a drop-in replacement for the standard glibc malloc. By implementing explicit free lists, block splitting, and bidirectional coalescing, I was able to highly optimize heap usage, keep memory fragmentation to a minimum, and maintain high throughput for concurrent processes.

C Memory Management Data Structures