Skip to main content

What I build

Projects

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

14total
3active
5maintained
2planned
2completed
2archived
46technologies
Sort by:
Docubil
Active
2025

Docubil

Check PDFs for accessibility, fix what can safely be fixed, and be honest about the rest.

20%
Node.jsExpress 5PythonReact+2
LatestArr
Active
2026

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.

60%
TypeScriptNode.jsFastifyReact+7
Lumina
Active
2025

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.

40%
Next.jsReactTypeScriptPostgreSQL+5
Maintained
2026

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.

100%
PythonCLI
Dynacat Custom Widgets
Maintained
2026

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.

100%
TypeScriptJavaScriptREST APIsYAML+1
Maintained
2026

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.

100%
Python 3REST APIsJSON
World of Warcraft UI Addons
Maintained
2025

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.

100%
LuaXML
Deadline Dread
Planned
2025

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.

20%
HTMLCSSJavaScript
Playnite Desktop Theme
Planned
2026

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.

0%
XAMLWPFPlayniteYAML
JeremyShields.ca Rebuild
Completed
2026

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.

100%
AstroTailwind CSS v4GitHub APIRSS
scootr.ca Rebuild
Completed
2026

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.

100%
AstroTailwind CSS v4DaisyUIKeystatic CMS+4
Continuo
Archived
2025

Continuo

I built Continuo to see how far I could take an AI-assisted build of a full business management platform — CRM, accounting, invoicing, the works — using Next.js 14 and TypeScript.

Next.jsTypeScriptReactApollo+2
You Deserve Fun
Archived
2025

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.

HTMLTailwind CSSJavaScriptFirebase