Keyboard shortcuts

Search

/
Open search
Navigate results
Open result
Esc
Close
T
Toggle dark / light mode

Photos

Previous / next photo
F
Open full-screen
M
Toggle map
Navigate in lightbox
D
View photo details
Esc
Close lightbox

About This Site

This is a hand-built photography portfolio. No WordPress, no Squarespace, no template. Everything you see — the layout, the galleries, the lightbox, the search — was written from scratch specifically for this site. This page explains how it works and what you can do with it.

The galleries

The work is organized into three main galleries — Portraits, People, and Places — each a vertical masonry grid that loads as you scroll. Images are sequenced by hand rather than chronologically, so the order is intentional.

Beyond the main galleries, there are Albums: smaller, focused collections organized around a specific project, location, or subject. Some albums are unlisted — they exist and are shareable via a direct link, but won't appear in the index. If someone sent you a link to an album, that's likely what it is.

Finding photos

There are a few ways to dig deeper than the main galleries:

The lightbox

Clicking any image in a gallery opens a full-screen lightbox showing the original, full-resolution file. A few things worth knowing:

Photo detail pages

Every photo has its own page (e.g. /photos/42) with the full metadata: camera body, lens, focal length, aperture, shutter speed, ISO, and date. If GPS data was embedded in the file, a collapsible map shows exactly where it was taken — the map only loads when you open it. Photos belonging to public albums list them at the bottom of the page, and if you arrived from an album, navigation stays scoped to that album.

If a photo has a title, a licensing inquiry link appears on its detail page. All images on this site are available for editorial and commercial licensing — write to licensing@timtrautmann.com to ask.

The journal

The Journal is a separate blog running on Ghost, served under the same domain at /blog. Membership is free — subscribing gets you new posts by email. Comments are enabled on journal posts and are also handled by Ghost. Signing in or subscribing from anywhere on the site uses the same account.

A few small things

Under the hood

For the technically curious: the portfolio runs on Node.js with Express and Handlebars for templating. Photos are stored in SQLite and processed with Sharp — thumbnails, medium variants, and 1200×630 OG crops are generated automatically on upload. Full-text search uses SQLite's built-in FTS5 engine with BM25 ranking. Location maps are powered by Mapbox and lazy-loaded only when opened. The blog is Ghost running in a separate Docker container behind the same Nginx reverse proxy. No client-side framework; no build step; no tracking.

Privacy

The short version: this site doesn't track you. No analytics, no ad networks, no fingerprinting. The longer version is in the Privacy Policy.