Projects

Things I've built recently. Each one links to a live site or a full write‑up.

ThruTrack

Local-first desktop app · Solo project

A desktop app for thru-hikers. After 2,600+ miles on the Continental Divide Trail, my GPS tracks, phone photos and satellite check-ins were in different places, on different clocks, with no single view of what actually happened on a given day. ThruTrack brings them together: import a day's GPX track, drop in the photos, and everything lands on a shared map and timeline automatically.

Everything is stored in a local SQLite database. There's no account and no cloud, so every trip, photo and journal entry stays on your own machine.

  • Reconciles camera and GPS clocks with custom EXIF and time-zone logic, and catches photos imported onto the wrong day and suggests the right one
  • Interpolates a photo's position from the GPS track when the photo has no location of its own
  • Groups multi-day trips by state automatically, and treats a hike that follows a state line for a week as one stretch instead of flipping between groups day to day
  • Clusters busy days on the timeline, and migrated 114 real trail days from an earlier personal project into ThruTrack's own schema
  • Electron
  • React
  • TypeScript
  • better-sqlite3

InstaGallery

2026 · Self-hosted web app · Personal project

A private, self-hosted archive for my 1000+ saved Instagram posts. It copies the images, video and captions onto my own computer and gives me a fast, searchable gallery for sorting them. It's a private tool with no public URL, so the write-up is here instead.

  • Ingest pipeline that downloads the real media and captions, which Instagram's official export leaves out
  • Two-level categories with an editable keyword auto-tagger that won't re-add tags I've removed by hand
  • Runs entirely on my Mac. My iPad reaches it over a private Tailscale network.
  • Python
  • FastAPI
  • SQLite
  • instaloader
  • Tailscale

CDT Data Vis

2025 · Hackathon · Team of 4

For team projects, be clear about which parts you personally built.

  • My part: designed the data model and wrote the realtime sync layer
  • Won [award] out of [N] teams
  • Java
  • Spring Boot
  • WebSockets

More on GitHub.