Sports analytics · machine learning

Pitch Classifier

Completed 0% Vibes

Neural network workflow for classifying MLB pitch types from 2024 Statcast data, with separate models for left- and right-handed pitchers.

I wrote it. AI was only used for research support.

Left-handed pitchers 94.67% best validation accuracy
Right-handed pitchers 92.78% best validation accuracy
30-day Statcast pulls 18 engineered inputs Separate LHP / RHP models
Context INSY 7130 · Auburn · 2024
Best validation 94.67% LHP · 92.78% RHP
Feature set 18 release, movement, trajectory inputs

A baseball analytics project that downloads Statcast pitch data, tunes a feed-forward neural network, and trains separate classifiers for left- and right-handed pitchers using release, movement, and trajectory features.

  • Python
  • TensorFlow
  • Keras
  • KerasTuner
  • scikit-learn
  • pandas
  • pybaseball
  • matplotlib
More detail
  • Downloads 2024 MLB Statcast pitch-level data in 30-day chunks.
  • Tunes the model with Hyperband before final training.
  • Trains separate classifiers for left-handed and right-handed pitchers.
  • Includes plots, saved histories, model artifacts, and the full report.

Fitness software · desktop app

Bike Tracker

Ongoing 100% Vibes

Real-time indoor cycling analytics desktop app.

I drove the idea, testing, and iteration while the agent did the typing.

Bike Tracker dashboard showing live cycling metrics, VO2 estimate, and trend charts.
Role Python desktop app for live FTMS bike telemetry
Core loop Bluetooth metrics in, ride analytics and session history out
Storage SQLite-backed workout records for later review

A Python app that connects to a Bluetooth FTMS exercise bike and turns live ride data into a usable training dashboard. It shows cadence, power, heart rate, speed, resistance, VO2 estimate, and training stress in real time, while recording sessions to SQLite for later review.

  • Python
  • PyQt6
  • BLE
  • SQLite
  • pyqtgraph

Vibe Score tracks how much of the build was delegated.

0% means I wrote it.

100% means I drove and tested while the agent did the typing.