
What I build
Projects
Things I'm actively working on, have shipped, or am planning to build.


LatestArr
A self-hosted “what’s new” newsletter for your media server. Connects to Plex, Tautulli, Jellyfin, Emby, and book, audiobook and game libraries, and emails a branded digest on your schedule, designed with a live preview, or in code when you want full control.

Lumina
Booking, client and staff software for salons and barbershops — and my second run at the lesson Continuo taught me. The first attempt stalled at 118 commits; this one is a deliberate rebuild where nothing counts as done until a command proves it.
Daylio to Memos Import CLI
A Python CLI I wrote to move years of my own Daylio journal entries into a self-hosted Memos instance, since nothing out there bridged the two. It also happened to be my first real Python project, so there was a fair bit of learning-as-I-went baked in.

Dynacat Custom Widgets
A growing collection of custom widgets built for Dynacat to streamline my daily dashboard — tracking Todoist stats, workflows, and media/entertainment right from my homelab startpage. Contributed upstream and maintained in my own repo.
Memos to Journiv Import
A custom Python migration script designed to parse, transform, and import markdown-based micro-journal entries from self-hosted UseMemos into Journiv via its REST API.

SIMKL CSV Converters
Handy scripts to help migrate your data from Trakt or Tautulli to SIMKL.

World of Warcraft UI Addons
Started as a fix for a broken World of Warcraft addon the community still relied on, and turned into building a new one from scratch — TitanSpecsLoadouts — entirely in Lua, a language I'd never touched before.

Deadline Dread
My take on a browser-based bullet hell game, starring an overworked web developer fighting off scope creep and buggy assets instead of monsters. It's partly an excuse to actually learn how game loops work, and partly a fun side project I keep coming back to with friends.

Playnite Desktop Theme
I have been incredibly impressed with Playnite and have made it a mission to integrate all my game libraries into my own local installation, ensuring the metadata and look is *just* right. It's a powerful open source tool for any gamer out there.

JeremyShields.ca Rebuild
A ground-up rebuild of my professional site with Astro 6 and Tailwind CSS v4, replacing a scattered mess of old CMS platforms with one fast, accessible home base I'm actually proud to point people to.

scootr.ca Rebuild
A ground-up rebuild of scootr.ca on Astro 6, Keystatic CMS, and Vercel — replacing an aging WordPress/DreamHost setup with a fast, fully static site, a custom 3D shattered-cube logo, and live GitHub/Last.fm/Steam activity feeds.


You Deserve Fun
A tiny, anonymous web app where people can share (and read) small reasons they deserve a break today. I built it to learn full-stack development end to end — HTML and Tailwind up front, Firebase doing the heavy lifting behind the scenes.