FeaturedGatekeeper
An async API gateway built from scratch in FastAPI. Authenticates clients by API key with Redis-cached lookups, applies per-key token-bucket rate limiting, forwards requests to configurable upstreams, and writes structured request logs to PostgreSQL. Load-tested with k6 at 100 concurrent users, sustaining 180 req/s at 99.87% success and 735ms p95 latency after tuning HTTP client reuse and connection pooling. Containerized with Docker and deployed to AWS EC2 behind an Nginx reverse proxy.
PythonFastAPIPostgreSQLRedisDockerAWS EC2Nginxk6
FeaturedClubLadders
A production match-tracking and Elo platform for 10+ club sports. Its responsive interface turns dense workflows — guest-player claims, match reporting, tournaments, club challenges, and rating history — into clear touch and desktop interactions, backed by deterministic Elo replay and a logistic-regression win-probability model.
Next.jsTypeScriptFastAPIPostgreSQLRedisscikit-learnGoogle OAuthElo RatingsInteraction Design
AI-Powered LMS
A full-stack Learning Management System prototype for K-12 classrooms, built on normalized data models for teachers, students, assignments, and submissions. Role-based auth separates teacher and student accounts, and the Gemini API generates draft grading feedback per submission, persisted alongside each grade.
PythonFastAPISQLAlchemyGemini APIHTML/CSS
Disaster Safety App
Built and deployed at the Hello World hackathon. Pulls active emergency alerts anywhere in the U.S. from the National Weather Service API and surfaces them with location-based risk levels. I owned the backend and API integration end-to-end.
PythonREST APIsHTML/CSSRender
ArchiveMore projects
Smaller builds and early learning projects.
GradeBook
A Java desktop app for managing students, courses, and grades with a JavaFX GUI. Persists data to CSV so a teacher can close the app and pick back up where they left off. Built early in freshman year while learning object-oriented design.
JavaJavaFXCSV
Sudoku Solver
A backtracking-based sudoku solver in Java with optimized row, column, and 3x3 box validation. A small project, but a good excuse to actually write a recursive search algorithm by hand. Next phase: GUI for entering puzzles.
JavaBacktrackingAlgorithms
Workout Manager
A Python console app for logging workouts and tracking patterns over time. Multiple user profiles, daily logs, and a small analysis layer that flags progress trends. Started as a way to practice working with persistent state outside of a web context.
PythonCLI