Skip to main content
← back

Site Update: Photos

Site Update: Photos

4 min read

Planted: 4 months ago
Last tended to: 2 months ago

Intro

It has been a long time coming, but it’s finally here: the first part of the last major component of this site…PHOTOS!!!

For years, my photographs have existed in a state of digital limbo. Some are archived on external hard drives or a NAS, rarely seeing the light of day. Others have been fed to the algorithmic maw of social media, compressed, cropped, and stripped of context, their value measured in transient likes. I’ve wanted to reclaim them for a while, to build a permanent, considered home where they can be viewed on their own terms. The new /photos section is the culmination of that desire.

It’s an exercise in digital ownership, much like the media diary or the tools list. It’s about creating a space that I control, free from the ephemeral nature of third-party platforms. The goal was to build a gallery that is both a repository and a presentation: quiet, fast, and focused entirely on the images themselves.

The Structure

The main page acts as a simple, thematic index. There are no sprawling, reverse-chronological grids here. Instead, visitors are greeted with curated collections, each representing a specific place, time, or concept. I’ve launched with a few core galleries:

  1. Concerts: Self-explanatory.

  2. France (2022-2025): Covering moments from Paris and Nice.

  3. Germany (2021-): A collection of shots from my current home base in Berlin, alongside trips to Potsdam and Wolfsburg.

  4. Video Games (2023-): A nod to virtual photography, with galleries dedicated to the striking worlds of Cyberpunk 2077 and Spider-Man, plus a miscellaneous folder for other captures.

Clicking into any of these collections leads to a dedicated gallery page. The design is deliberately restrained—a simple grid that lets the images breathe. There are no captions, no EXIF data, no comments. The navigation is minimal. The entire experience is designed to remove distraction and place the focus squarely on the photography.

a photo collection with a seen badge

To help you keep track of what you’ve viewed, I’ve also added a subtle “seen” badge. When you visit a gallery for the first time, your browser quietly makes a note of it using localStorage. The next time you return to the main photos page, a small badge will appear on that collection’s tile. When I add new pictures to a collection you’ve already viewed, that badge will be replaced by an “updated” badge. Once you check out the new additions, it will revert back to the “seen” badge on your next page visit. It’s a simple, completely private way to track your progress, with all data stored only on your device.

a photo collection with an updated badge

Technical Implementation

Beneath the surface, the structure is straightforward but robust. Like other recent projects on the site, this section is built with Astro, leveraging its static-first architecture for performance. The entire gallery system is driven by a single photos.json file that defines the collections and their metadata—title, description, and the path to their respective image folders.

The real heavy lifting happens during the build process. A script iterates through the image folders and uses the sharp library to automatically generate several versions of each photo: a lightweight, blurred placeholder for the initial load, a medium-sized thumbnail for the gallery grid, and a high-resolution version for the lightbox view. This ensures the initial page load is incredibly fast. The gallery layout itself is handled by CSS Grid, creating a responsive, masonry-like effect without any client-side JavaScript, keeping the whole experience lean and fast.

What’s Next

This is just the foundation. I’ll be slowly trawling through decades of unorganized photos from my archives. Yes, decades. I’ve managed to keep a ton of photos, videos, and music from 2000 all the way to today. More backups need to be done 😳.

Further down the road, I might explore adding a toggle to display EXIF data for those interested in the technical details of a shot. I am also designing my own components for photo stories in the future. But for now, the priority was to get the core experience right: a calm, uncluttered space to simply view photographs. It’s a project that will grow slowly and deliberately over time.

Enjoy!