Always building

Projects

The things I've built, from games and web apps to a printer server and a tool for the golf course: what they are, how they work, and what went into them.

Playable now

STELLA HOSTIS

A Galaga-inspired shooter that mixes 2D and 3D, built in Unity with C#. It's a full rebuild of a game I first made in Scratch when I was 14, and it runs right in the browser, with an online highscore board.

  • Five enemy types that each fight differently: some sway and snipe from the formation, one hops between empty slots firing spreads of shots, and one sweeps its whole row.
  • Ten levels ending in a swarm, with a time bonus for clearing each one under par.
  • A dodge roll that makes you briefly untouchable, and goo from defeated enemies that fills a meter for extra lives.
  • Plays with a keyboard and mouse, a controller, or touch controls on a phone.
  • Runs go to a leaderboard service in Python on the Raspberry Pi that serves this site.
  • Developed with feature branches, pull requests and issue tracking on GitHub.
  • Unity 6
  • C#
  • Blender
  • Pixel art
  • WebGL
  • Python

Play STELLA HOSTIS See the highscores

In development

voiceWeb

An AI voice-cloning web app, and my senior capstone project for Fall 2026. Give it a recording of a voice and some text, and it reads the text back in that voice.

  • Record a clip right in the browser or upload a WAV file, then type what you want said.
  • Tune the result: pick a language, and turn emotion intensity and expressiveness up or down. Fast Mode switches to a lighter English-only model.
  • The voice model is Chatterbox, an open-source text-to-speech model, self-hosted behind a small Python FastAPI server, with no paid API.
  • Phone recordings are turned into standard WAV files in the browser before they're uploaded, and clips too short to clone are caught by reading their WAV header.
  • Projects, clips and settings live in a SQLite database, through Entity Framework Core.
  • C#
  • ASP.NET Core
  • SQLite
  • Python
  • FastAPI
  • Chatterbox TTS

Read more

Available to demo shortly!

Live

This website

The site you're on, built in plain HTML, CSS and JavaScript, and self-hosted on a Raspberry Pi 5 at home.

  • No framework or site builder: one stylesheet, and one PowerShell script that publishes everything.
  • Visitors arrive through a Cloudflare Tunnel, so the Pi has no open ports on the home network.
  • Two small APIs of its own, in Python: the STELLA HOSTIS leaderboard and live stats from the Pi.
  • Live demos of public APIs on the Fun stuff page, plus a few easter eggs, including a button that "hacks" the whole site.
  • Every stylesheet, script and image link carries a fingerprint of its file, so nobody is served a stale copy after an update.
  • HTML
  • CSS
  • JavaScript
  • nginx
  • Python
  • Raspberry Pi 5

Read more Fun stuff

Running

3D printer server

A Raspberry Pi running Klipper that drives my Creality Ender-3 V3 SE over the home network, instead of a USB cable to a computer. Prints can be started, watched and fine-tuned from any device in the house.

  • Replaced a USB-tethered setup: the Pi runs Klipper, which does the printer's motion planning and takes jobs over the network.
  • Mainsail, Klipper's web dashboard, shows the temperatures, the toolhead and the print queue, and it opens right inside the slicer, so a print goes from the slicer to the printer in one click.
  • Troubleshot hardware, firmware and Linux issues along the way, so it holds up through prints of ten hours or more.
  • It has printed everything from Benchy test boats and Raspberry Pi cases to VR headset wall mounts and replacement car parts.
  • Raspberry Pi
  • Klipper
  • Mainsail
  • Linux
  • Ender-3 V3 SE

In daily use

Tee Movers

A tool I designed and built at River Golf Club, where I work: a carrier that lets one person move a pair of heavy railroad-steel tee markers at once.

  • Bent by hand from 1/4-inch steel rod with a vise and a ruler, and finished with electrical tape and eraser grips.
  • Each marker weighs 10 to 15 pounds, and every one of the course's 19 holes has five pairs to move.
  • Built in 2025 and still in daily use, and especially popular with the older members of the crew.
  • The crew's verdict when they saw it: could I make two more?
  • Design
  • Metalwork
  • Problem solving