Choose Your Style

Pick a theme that suits your taste. You can change it anytime.

Clean & Minimal

Light, airy, lots of whitespace

Gradients

Colorful cycling backgrounds

Dark Editorial

Elegant dark with gold accents

Bold & Expressive

Vibrant gradients, strong type

PassportPals v2

An interactive choropleth map built with Leaflet that lets you and your friends from all around the world see where you can travel together. Enter the different passports your group holds, hit shuffle, and the map combines visa requirement data to highlight every destination you can visit together visa-free.

Leaflet JavaScript Choropleth Map CSV Data

DoublesChess

A web app for playing alternate-move team chess online. Based on a game my friends and I played at university — two teams, alternating moves, no communication allowed between teammates. Built with WebSockets for real-time multiplayer.

WebSockets JavaScript Real-time Multiplayer

Political Compass Game

A multiplayer party game where each player predicts where they think the others in the group fall on the political compass. Everyone takes a short quiz, then a results grid reveals the truth — the closest guesser wins. A fun, light-hearted way to start an argument.

Socket.io JavaScript Real-time Multiplayer
Archived Projects
i.e. old stuff I made when I started which is not very good but I'm keeping it here for nostalgia and posterity

PassportPals v1

A tool that scrapes Wikipedia's visa requirement data so that you and a friend from different countries can discover where you can both travel visa-free.

Node.js Web Scraping Express Heroku

Virtual Ukulele

An interactive virtual instrument you can play in the browser. Inspired by Virtual Piano — a fun experiment in audio and user interaction.

JavaScript HTML5 CSS3 Web Audio

African Countries

A simple web app that provides information about all of the African countries. Built during my bootcamp as an exercise in working with APIs and server-side rendering.

Next.js React REST API Vercel

Emoji Ecommerce

A concept online store with full shopping cart functionality, selling emojis as NFTs. Built to explore ecommerce UI patterns and state management with vanilla JavaScript.

JavaScript Bootstrap 4 Ecommerce Shopping Cart