Things I built because I wanted them to exist.
Orthodox Lectionary Visualization
View ↗An interactive radial calendar of the Orthodox Christian liturgical year. All 365 days arranged in a circular SVG — 52 weekly wedges radiating outward from September, the start of the ecclesiastical year. Colored dots map which Bible books appear in each day's prescribed readings, with toggles to filter by book or category. Handles both Julian and Gregorian calendars.
Built it because I'm Orthodox and wanted this view to exist. No framework, no build step — just vanilla JS, SVG, and a lectionary JSON dataset.
Chore Bingo
View ↗A real-time multiplayer chore tracker gamified as a bingo board — used daily by two people across devices. Both users see the same board state instantly via Firestore subscriptions; completions and reshuffles propagate live without polling.
The interesting parts: Firestore transactions to prevent double-triggered resets on concurrent logins, DST-safe reset timers anchored to 2 AM Mountain Time using Intl.DateTimeFormat without a backend, a three-tier priority system (pinned → queued → random fill) with a full pool accounting UI, and the whole thing ships as an installable PWA on the Firebase free tier.
Asteroids
Currently offlineMy take on the classic arcade game — my first ever solo project, built in 2020. Vanilla JS on the front end, Node/Express on the back, with a top-ten leaderboard that only keeps scores that have ever cracked the top ten (so you can watch the floor rise over time).
I wouldn't build it the same way today, which is kind of the point.
ROKR Globe assembly
My first crochet project. A Wooble narwhal.
Granny square crochet project
Onion skin dyed Pascha eggs
Homemade garlic focaccia
Hiking with my kiddo
Northern lights over Grand Junction
Lunch in Vienna
On the Danube at night. Budapest.
Family trip to the Outer Banks
First cross stitch. A Jerusalem cross.
Annular eclipse