a selection of things i've built over the last few years.

01

CUI Central

campus operating system · 2025

A platform for my university that brings cafeteria pre-ordering, room booking, faculty availability and a job portal into one place, with separate flows for students, teachers and admins. It also has a Gemini-powered chatbot that answers questions about the campus from a custom knowledge base.

Next.js 15 · Socket.IO · Gemini · MongoDB

02

kitty

on-site portfolio agent · 2026

An on-site agent for this portfolio that answers questions about my work, writing and background. A custom LangGraph tool loop coordinates its tools; FastAPI streams each step, and an evaluation suite checks routing and answer quality. Postgres keeps conversations durable, while bounded retries and a warm-on-load health check keep the public widget responsive.

Python · LangGraph · FastAPI · Postgres / pgvector · SSE

03

Check!

multiplayer card game · 2025

An online multiplayer card game you can play with friends. Its Socket.IO game server handles rooms, turns and reconnects, keeping every player's screen in sync.

Next.js · Node.js · Socket.IO · XState

04

Cloud Visitor Counter

serverless, the long way · 2026

The live visitor and Prius counts at the bottom of this site, running as their own small AWS service. A Python Lambda and DynamoDB sit behind an API Gateway, all of it defined in Terraform and deployed by GitHub Actions with no stored keys. It's a tiny backend, but I built the full production setup around it on purpose, as my take on the Cloud Resume Challenge.

AWS Lambda · DynamoDB · API Gateway · Terraform · GitHub Actions

05

Imaginify

ai image platform · 2024

An AI image editing app with generative fill, restore, recolor and background removal, plus a credits system and payments through Stripe. Built with Next.js, Cloudinary and MongoDB.

Next.js · TypeScript · Cloudinary AI · Stripe

06

Karting Analysis

lap-time analysis · 2025

Lap-time analysis for go-karting sessions with my friends. It scrapes leaderboard data from the track's website, then uses Pandas and NumPy to chart fastest laps, distributions and how everyone stacks up.

Python · Pandas · NumPy

more work