Skip to content

Projects

Systems, applications, and experiments. A closer look at what I built, how it works, and what I learned.

Distributed systems / Applied ML / Web / Embedded

9 projects / All disciplines

Distributed

Distributed Chat System

Java chat system with custom TCP networking, peer message replication, and a replicated discovery service that elects a new primary after failure.

  • Distributed Systems
  • Java NIO
  • TCP
  • Replication
  • Leader Election
Explore project

ML

Pet Detection Under Occlusion

A computer-vision pipeline that generates synthetic obstructions, trains pet detectors, and measures how their results transfer to naturally occluded animals.

  • Computer Vision
  • PyTorch
  • Object Detection
  • Data Augmentation
  • COCO Evaluation
Explore project

Systems

J-- to MIPS Compiler

A Python compiler that parses J-- programs, resolves names and types, and generates MIPS assembly with a custom stack calling convention.

  • Python
  • ANTLR4
  • Compilers
  • MIPS
  • Semantic Analysis
Explore project

ML

Genetic Algorithm Hyperparameter Search

A Python optimizer that evolves classifier settings through cross-validation, selection, crossover, and mutation while handling dependencies between parameters.

  • Genetic Algorithms
  • Hyperparameter Tuning
  • scikit-learn
  • Python
  • Cross-Validation
Explore project

Time capacity and candidate schedules

Candidate bookings share recurring time capacity. The grid illustrates placements and durations; it is not a computed schedule.

Algorithms

Constraint-Based Soccer Scheduling

A Python scheduling prototype that combines backtracking and genetic search to assign recurring soccer games and practices under capacity and placement constraints.

  • Constraint Satisfaction
  • AI Search
  • Scheduling
  • Genetic Algorithms
  • OR-Tree Search
  • Python
Explore project

Full-Stack

Restaurant Reservation System

A React and Express application for customer accounts, reservation editing, and event inquiries, backed by a relational MySQL database.

  • Full-Stack Development
  • React
  • Express
  • MySQL
  • JWT Cookies
  • Docker
Explore project

Embedded

Bare-Metal SNES Controller Interface

C firmware that reads an SNES controller directly through Raspberry Pi GPIO and sends button states to a desktop game over serial.

  • Embedded Systems
  • Bare-Metal Programming
  • C
  • GPIO
  • UART
  • Python
Explore project

Temperature control rule

target − 3 ≤ current ≤ target + 3

Furnace
Off
Air conditioner
Off

Both temperature actuators are off inside the target band.

Rule illustration from the temperature controller. Humidity and soil moisture use their own sampling intervals and a single actuator each.

Systems

Greenhouse Climate Simulation

A Java desktop simulation with independently timed environmental controllers, live equipment states, and saved histories for reviewing each run.

  • Java
  • Swing
  • Concurrency
  • Simulation
  • File I/O
Explore project

Browsing, profiles, and parent controls

BrowseProfileRestrictions
Linked interface areas in the family viewing prototype. Profile settings persist locally in the browser.

Frontend

Family Streaming Interface

A React prototype for family viewing, with separate parent and child interfaces, personalized browsing, and settings saved per profile in the browser.

  • React
  • JavaScript
  • MUI
  • React Router
  • localStorage
  • UI Prototyping
Explore project