I'm a software engineer and data science master's student who enjoys building the whole thing, from a noisy GPS point or messy dataset to a model, API, map, and product that someone can actually use.
Before working in tech, I served in the army as infantry and commando. That experience shaped how I think about training, effort, and resilience, and eventually led me to build Rucker.
These days I'm especially curious about movement data, geospatial systems, useful machine learning, and finding good ways to explain what a model is doing.
I use my blog and portfolio to document projects, work through the mathematics behind machine-learning methods, and keep useful references close at hand.
- 📚 Data Science Cheat Sheet: a practical reference for the concepts and tools I use most often.
- 📈 Linear Regression from Scratch: the underlying mathematics and nuances of linear regression.
- 🧮 Logistic Regression from Scratch: a deep dive into classification, implemented from scratch with NumPy.
Browse everything on the blog →
🥾 Rucker
I built Rucker because generic fitness apps don't really understand what carrying weight feels like. It smooths noisy GPS data, accounts for terrain, elevation, load, speed, distance, and duration, and uses H3 to turn repeated routes into geospatial heatmaps.
Behind the app: Expo/React Native, Rust, PostgreSQL, Firebase, H3, and Mapbox.
An experiment in taking a model all the way out of the notebook. I compared logistic and L1-regularized models, explored predictions with SHAP, and moved the final inference into a TypeScript/React app that runs entirely in the browser. Source code
Two related problems: predicting rare insurance claims and discovering driver behavior from sensor data without using the labels. The project combines imbalanced classification, PCA, K-Means, and interactive visualizations. Explore the workflow
A comparison of five regression models, plus PCA and K-Means for exploring student behavior. The selected model reached a test R² of about 0.825 with an MAE of 0.42. Source code
Computer vision, privacy filters, and augmented reality
Recognize faces in a picture and estimate a smile score.
Anonymize faces in a photo using a choice of privacy filters.
Estimate height with augmented reality and ArUco markers.
Python · SQL · pandas · scikit-learn · SHAP · H3 · Mapbox · Rust · PostgreSQL · Firebase · React Native · TypeScript