Featured Projects

A live chat for Carleton University. Anyone can watch the conversation but only students with a valid Carleton email can post.

Model your net worth over time. Tracks assets, debts, income, and expenses. Plan for retirement, financial independence, and other money milestones. Includes personalized financial insights powered by AI.

A UI clone of Microsoft New Outlook that displays Reddit content in place of emails. This works despite Reddit's ban on third-party clients by proxying all calls to Reddit's RSS feeds through the server and aggressively caching them.

My competitive Battlesnake API that leverages a multi-variable heuristic engine to outmaneuver opponents and maintain a Top 50 global ranking.

Chrome extension keeping you updated with live sports scores while you browse. Lightweight, non-intrusive sidebar for real-time game tracking.


Python GUI application for scraping media links using Selenium. Features customized file type filtering, pagination support, and CAPTCHA handling.

An automation tool with three click modes: autoclick Mode is started and stopped with a hotkey; keybind Mode clicks while a chosen key is held; and normal Mode clicks while the left mouse button is held.
Blog
Building and Deploying a Next.js Site on Vercel
In this guide you will create a Next.js website, push it to GitHub, and deploy it on Vercel. You will end with a live site, a working domain, and automatic HTTPS.
Tiling Window Managers: An Overview
A tiling window manager arranges your computer's windows automatically. Instead of floating windows that overlap, each window gets a part of the screen.
KeePassXC: Browser Autofill, Phone Access, and Cloud Sync
KeePassXC is a password manager. It stores your passwords in one file, encrypted with AES-256, the standard used by banks and governments.
Writing a Battlesnake in Python
Battlesnake is a programming competition where your code controls a snake on a grid. Each turn, the game engine sends you a POST request with the board state. You return a move within 500 milliseconds.
Self-Hosting a Static Site
In this guide you will register a domain, rent a server, point the domain at the server, and serve the site over HTTPS.
Installing yay: My Go-To AUR Helper
yay is an AUR helper. It lets you install packages from the Arch User Repository (AUR), using the same simple commands as pacman. It is the first tool I install on any new Arch system.
How to Install Arch Linux with archinstall
Arch Linux has a reputation for being hard to install. For years, this was true. You had to run each step by hand. However, since April 2021, Arch ships with an official tool called archinstall.