ML models, data tools, bots, games โ a mix of work projects and things I built because I wanted to.
Chrome extension to detox your Twitch experience. Hides recommended channels, auto-playing streams, and homepage distractions while keeping your followed channels visible.
Chrome extension to detox your Reddit experience. Removes recommendations, promoted posts, and adds friction overlays to help you stay intentional.
Chrome extension to detox your YouTube experience. Hides Shorts, recommendations, and autoplay, and adds friction delays to keep browsing intentional.
Convert PDFs to audiobooks with chapter-by-chapter audio output using Kokoro TTS. Drop in a PDF and get a full narrated audiobook.
Strategy-conditioned RL: teaching one neural network multiple play-styles via strategy-vector conditioning. Proof of concept on LunarLander, targeting Rocket League.
Python script that visualizes the color distribution of an image on an HSV color wheel. Useful for color analysis and photography.
Led a team to predict playlist success on a 36 GB dataset of 20M songs. Built a sequential cache for 10x faster data access. 89% accuracy using ensemble methods including Random Forests, Logistic Regression, and Ridge.
CNN that identifies GPS coordinates from Google Street View images. Collected 50K images via custom data mining and trained the model to 85% accuracy on large coordinate bins.
Inverse Reinforcement Learning bot for Rocket League. Uses GAIL to imitate expert behavior, trained on thousands of high-level matches via the RLBot API.
Discord bot I've maintained for 4+ years. Uses GPT and DALL-E 3 for conversations and image generation. Tracks quotes, monitors air quality, integrates with Google APIs. Self-updating and always live.
Android app with Google Assistant integration. Describe a vibe ("music for walking on the beach") and it generates a Spotify playlist using ChatGPT to pick the songs.
Research project using GAIL and VAIL with Transformer-based reward networks for Inverse RL. Tested on LunarLander-v4. Transformers gave more stable training but converged slower than linear networks.
Full implementation of Codenames using TCP sockets and Pygame. Plays like the real thing. Comes with an Android companion app for local multiplayer.
Built a Tetris engine from scratch and trained agents using hand-implemented genetic algorithms and NEAT. The models learned to survive for several lines but lacked long-term strategy.
AR app that places and moves player tokens on real-world surfaces for D&D. Replaces physical miniatures โ players can scale and reposition characters for tabletop play.
Discrete-event simulation of passenger flow at SFO's international terminal. Used real TSA and flight data to model de-boarding, gate assignments, and wait times.