I like making things.
And sometimes breaking them too 👀
Recent Photos
Four people, with different jacket colors, snowshoe across a bridge in the snow Pine trees fade off into fog A bird sits on top of a snow covered branch with blue sky in the background Purple and pink hues paint the sky in a sunset with the skyline of Anchorage visible in the distance A red sunset, sun pierces through a dark forest Go to Photos →
Recent Posts

Integrate Backblaze B2 with TinaCMS media library

Through a couple twists, I figured out how to setup the media manager for TinaCMS to work with Blackblaze B2 (and any S3-compatible provider). The media library is a critical part of its goal to allow users to control their content, and B2 provides scalable, cost-efficient storage.


Relative timestamps in Astro JS

Migrating to Astro required rethinking how to handle relative timestamps on the client side while dealing with a highly static website. It's doable, but I had to work around a minor Astro quirk.


Rebuild cached static website Docker layers in Easypanel

Self-hosted PaaS like Easypanel make serving continuously deployed websites a breeze. Unfortunately, they don't integrate so easily with external data used during a static website build process.