// projects

Projects

Personal and academic projects — things built to learn, ship, and run.

LapEvo

iRacing Telemetry Tracker & Real-time Coach

Jan 2025 - Present ↗ visit

Full-stack application for capturing and analyzing iRacing simulator telemetry at 60Hz, with an AI coaching layer that surfaces actionable insights from lap data. Built as a monorepo with a React 19/TypeScript frontend, FastAPI backend, and TimescaleDB hypertables for time-series storage.

  • Real-time 60Hz telemetry ingestion pipeline using Python/FastAPI microservices with thread-safe async processing and event-driven architecture
  • TimescaleDB hypertables for efficient time-series storage and querying of lap telemetry data
  • Auto-generated OpenAPI client via Orval, eliminating manual API contract drift between front and back end
  • pytest + testcontainers for fully isolated integration testing — CI/CD runs without a live game instance
  • Docker Compose orchestration for local development parity with production
Python FastAPI React 19 TypeScript TimescaleDB Docker pytest Orval

Personal Homelab Infrastructure

Production-grade self-hosted infrastructure

Jul 2023 - Present

A production-grade homelab running on Proxmox with 6 VMs and a 116-pod Kubernetes cluster, hosting a variety of self-managed services. Everything is treated as infrastructure-as-code — provisioning, configuration, and deployment are all repeatable and version-controlled.

  • Proxmox hypervisor with Packer-built VM templates and Terraform for provisioning — reproducible from scratch
  • Kubernetes cluster (116 pods) managing Vaultwarden, Jellyfin, Gitea, Technitium DNS, and more
  • ArgoCD for GitOps-based continuous deployment — push to git, cluster self-heals to desired state
  • Traefik reverse proxy with automated Let's Encrypt TLS — zero manual certificate management
  • Prometheus + Grafana observability stack for cluster and service metrics
Kubernetes Proxmox Terraform Packer ArgoCD Traefik Prometheus Grafana Linux

GNN Molecular Property Prediction

academic

Predicting quantum molecular properties on the QM9 dataset

2021 – 2025

Trained a Graph Neural Network using PyTorch Geometric on the QM9 dataset to predict quantum-chemical properties of small organic molecules. The model operates directly on molecular graphs, representing atoms as nodes and bonds as edges.

  • QM9 dataset: 130k+ small molecules with 19 quantum-chemical target properties
  • Molecular graph representation with atom/bond features as node and edge attributes
  • Graph-level regression using message-passing neural network architecture
PyTorch Geometric PyTorch Python

Transformer Sentiment Analysis

academic

Fine-tuned transformer model for text sentiment classification

2021 – 2025

Fine-tuned a pre-trained transformer model for sentiment classification on text data. Explored tokenization, attention mechanisms, and transfer learning as applied to NLP classification tasks.

  • Transfer learning via fine-tuning a pre-trained transformer on labeled sentiment data
  • Explored attention weight visualization to interpret model decisions
PyTorch Hugging Face Transformers Python

CNN Image Classification & Regression

academic

Convolutional neural networks for vision classification and regression

2021 – 2025

Designed and trained convolutional neural networks for image classification and regression tasks. Covered architectural decisions (depth, pooling, batch norm), training pipelines, and evaluation across both categorical and continuous output settings.

  • Classification and regression heads on shared convolutional backbone
  • Data augmentation pipeline for improved generalization
PyTorch Python

ML Network Traffic Classifier

academic

Machine learning for network trace classification

2021 – 2025

Built a machine learning classifier to identify and categorize network traffic types from packet-level trace features. Applied feature engineering on raw packet captures and evaluated multiple classification approaches.

  • Feature extraction from raw packet trace data (timing, size, protocol)
  • Comparative evaluation of ML classifiers on traffic categorization
Python Scikit-Learn Pandas

Time Series Forecasting

academic

Deep learning approaches to temporal sequence prediction

2021 – 2025

Implemented and compared deep learning architectures for time series forecasting, including recurrent and attention-based models. Explored sequence modeling, stationarity, and evaluation metrics for temporal prediction.

  • Multi-step ahead forecasting with recurrent and transformer-based architectures
  • Time series preprocessing: differencing, normalization, sliding window batching
PyTorch Python Pandas

Generative Modeling with Diffusion Models

academic

Implementing diffusion-based generative models from scratch

2021 – 2025

Implemented a denoising diffusion probabilistic model (DDPM) for image generation. Covered the forward noising process, reverse denoising network (UNet), noise scheduling, and sampling procedures.

  • Forward diffusion process with learned noise schedule
  • UNet denoising network for the reverse process
  • DDPM sampling for image generation
PyTorch Python