Projects
Watch Together
In Progress2025A full-stack application that allows users to watch YouTube videos together in real time. Features include synchronized playback, video queuing, and room-based collaboration. Built with React on the frontend and a Node.js/Express backend, with WebSockets enabling live synchronization between users.
Stack: React · TypeScript · Node.js · Express · Socket.IO · Tailwind CSS
Portfolio Website
In Progress2024Personal portfolio and blog built with Next.js, TypeScript, and Tailwind CSS. Statically exported and deployed to GitHub Pages.
Stack: Next.js · TypeScript · Tailwind CSS · MDX
Whymighta Discord Bot
In Progress2022A Discord bot built for a small friend group with a wide range of features, including an LLM-powered chatbot with OpenAI and Anthropic support, guild XP and leveling, Fortnite stats, weather lookup, server theming, and moderation. Built with a database-backed architecture, a pytest test suite, and Docker deployment.
Stack: Python · disnake · PostgreSQL · Docker · OpenAI · Anthropic
Personal Cloud Infrastructure
2026Infrastructure-as-code repo that manages personal cloud resources on AWS. Includes CDK stacks for static site hosting, a Lambda-based status monitoring API, a Lambda that auto-starts Minecraft EC2 instances on DNS query, and Docker Compose configuration for self-hosted services.
Stack: Python · AWS Lambda · AWS CDK · Docker · GitHub Actions
System Dashboard
2026A personal status dashboard that monitors self-hosted infrastructure in real time. Tracks Minecraft server status and player counts, HTTP health of web projects, and Docker container resource usage. Built with React and Vite, pulling from a Lambda-backed API on a 60-second interval.
Stack: React · TypeScript · Vite · Tailwind CSS · AWS
Pixel Sorter
2025A web app that takes any uploaded image and rearranges its pixels sorted by their distance from black, producing a gradient-like visual effect. The sort runs in a Web Worker to avoid blocking the UI during processing.
Stack: React Router · TypeScript · Tailwind CSS · Vite
Classification of Pokemon Sprites
2024Collaborated with a team of four to design and implement a convolutional neural network model that classifies Pokémon sprites within battle images, achieving up to 86% accuracy using image processing and deep learning techniques.
Stack: CNN · OpenCV · Python · PyTorch
Identifying and Removing Toxic Comments
2023A method to detect toxic statements, identify specific toxic words, and censor harmful language in online spaces. Uses transformer-based NLP models to flag and redact toxicity at the token level.
Stack: Python · TensorFlow · NLTK · FastText
Predicting NFL Betting Odds
2023Predicts NFL game point spreads by testing multiple regression approaches — linear, ridge, lasso, random forest, support vector, and neural network — against team records and per-game metrics.
Stack: Python · PyTorch · scikit-learn · BeautifulSoup