Timeline
The design of this site over the years
History
Now
I moved this site from Next.js hosted on Vercel to TanStack Start hosted on Cloudflare. I've been with Next and Vercel for about two years and really had no complaints, but wanted to try out a new setup. With this migration I also moved all my media from S3 with CloudFront to R2, along with putting the entire site behind Cloudfront's proxy.
The move was a bit involved as my photostream has a few moving parts, including an image manipulation pipeline and database. Some of this isn't feasible with a Cloudflare worker alone, so I also have a separate Cloudflare container that manages my admin tasks like uploading and resizing huge images. One thing I really love about Cloudflare is it's robust Zero Trust Access functionality, letting me protect/prevent access to any path.
It's still early but the new setup already feels faster.
Summer 2026
I designed and built a new photostream page to make it easier for me to share individual photos I've captured instead of only the larger photosets I publish on the photos page.
This was a fun project to build. It uses a Neon database and Cloudflare R2 storage with Cloudflare Image Transformations. I also have a little admin dashboard I built to let me drag photos in to upload, where EXIF data is imported and cleaned, while also letting me manage metadata like captions and linking to other photosets.
2025
I recently added a dark mode to the site after migrating to Next.js v15 and Tailwind CSS v4.1. I didn't want to do a basic black style dark mode so I worked on a dark greenish theme that I felt was complementary to the warm light mode theme. Also, I just like green.
I used the View Transition API along with an SVG filter to add a reveal animation to changing the theme. The theme toggle is the system setting by default, then if you click it, it will cycle through light and dark modes. It sets a cookie to store this setting so refreshing the page doesn't result in a flash of the wrong theme.
Mid 2024
Over several months in 2024 I began slowly designing and building the current site from scratch. It no longer uses the Jekyll static site generator in favor of Next.js.
Posts are all now converted to Markdown (MDX files); when I was on Jekyll I mostly wrote posts with HTML markup. It's hosted on Vercel, with some media still hosted on CloudFront. More to come about how I built it.

2021 - 2024


Gear page with custom-designed SVG icons for each category


I used to have a section called "Briefs" where I put smaller posts.
2019


2017

2015

2013

2011

It was in 2011 that I moved away from WordPress to Jekyll.
2010

2009

2008

2006

2005

