Devlog

RSS

Notes on whatever I'm building at the moment.

10

Posts

20

Tags

Jul 21, 2026

Latest post

Jul 21, 2026 · 5 min read

Building /notes as a force-directed graph, then rebuilding it for mobile

A canvas full of notes connected by springs is a fine idea for a mouse and a keyboard. It has nothing to say to a phone — so the mobile version isn't a responsive tweak, it's a second app sharing one state tree.

  • notes
  • sqlite
  • svelte
  • ui

Jul 20, 2026 · 3 min read

A media library, an admin area that feels like one, and backups that diff

Three admin-area gaps that all trace back to the same root cause — nothing here persisted or gave feedback the way it should — and the git-based backup job that ties them together.

  • admin
  • sqlite
  • backups
  • media

Jul 20, 2026 · 2 min read

A weekly heatmap, a project lightbox, and swapping a callout for a sparkline

Three small, unrelated features shipped together, tied by the same idea — once data already lives in SQLite, another way to look at it is just another query.

  • listens
  • spotify
  • sqlite
  • ui

Jul 20, 2026 · 4 min read

Turning /newtab into an actual dashboard

A browser new-tab page needs to survive being reopened fifty times a day — that constraint shaped everything from the background photo cache to the layout system more than any feature idea did.

  • newtab
  • sqlite
  • unsplash

Jul 18, 2026 · 3 min read

The whole Watchlist page, built in a day

Simkl's bulk sync call doesn't carry genres, overviews, or runtimes — getting those without hammering a per-title endpoint on every load meant a small self-warming cache, plus a full-library snapshot to survive an outage.

  • watchlist
  • simkl

Jul 18, 2026 · 3 min read

Building /listens from a Spotify data export instead of an API

Spotify's API only gives you the last ~50 plays. Getting real history — and years of stats out of it — meant starting from my own data export instead.

  • spotify
  • listens
  • sqlite

Jul 16, 2026 · 2 min read

Giving Projects the same treatment as the devlog

The projects page was a hardcoded array with one entry. Now it's markdown, like everything else here.

  • sveltekit
  • projects

Jul 16, 2026 · 2 min read

Two things the Dockerfile had to get right

pnpm's autoInstallPeers quietly defeats a --prod reinstall, and node:22-slim ships without curl for the HEALTHCHECK to shell out to.

  • docker
  • deployment

Jul 10, 2026 · 2 min read

Picking a design system for a one-person site

Why this site borrows RG Digital's dark/near-black look, swaps the accent to cyan, and how one token file covers both light and dark mode.

  • design
  • tailwind

Jun 1, 2026 · 1 min read

Hello, world

First post on the new devlog — how this site is built and why it exists.

  • meta
  • sveltekit