Featured Projects
An autonomous LLM assistant that reasons about calendar events, biometrics, and device state to execute multi-step routines without being explicitly asked. Orchestrates 10+ live integrations (Spotify, Google Calendar, Garmin, smart home) via a tool-calling agent loop. Trains local stress and sleep classifiers on wearable data using scikit-learn, with a confidence system that learns from user feedback and adapts in real time.
Fine-tuned DistilBERT on 40K+ labeled Reddit and Twitter posts for 3-class sentiment classification, achieving 73.1% F1 macro on a 10,360-sample held-out test set. Built an analytics layer that computes rolling sentiment averages across configurable time windows, detects anomaly shifts with severity scoring, and surfaces TF-IDF keywords per class with SHAP token-level explanations.
Trained Random Forest, XGBoost, and a PyTorch MLP on 89K Spotify tracks across 7 mood classes. XGBoost reached 99.6% and MLP reached 93.5% F1 macro, illustrating how tree-based and neural models learn threshold boundaries differently. Engineered 13 features from raw audio data and used SHAP TreeExplainer to generate plain-English mood explanations, powering a recommendation engine with cosine similarity ranking and fine-tune sliders.
Computer vision and tactical analytics pipeline for broadcast soccer footage. Detects and tracks players, goalkeepers, and the ball using YOLOv8m and ByteTrack, maps pixel positions to real pitch coordinates via homography, and computes formation lines, pressing intensity scores, and Voronoi space control per team.
Deep learning trajectory prediction for multi-player sports footage. Given 50 frames of player tracking data, predicts the next 50 frames using a TemporalCNN and Seq2Seq Transformer. Achieves 0.065 ADE / 0.118 FDE in normalized pitch coordinates, with uncertainty estimation via Monte Carlo dropout.
To see more completed and in-progress work, visit my GitHub.