About

A collection of personal projects and a photography portfolio.

What this site is

This site is a curated home for personal work: photography series, gear notes, and a small music archive.

It is intentionally minimal and built for speed, clarity, and longevity.

How it is built

It runs on a lightweight Python WSGI server that renders simple HTML templates and serves static files.

Photo previews and EXIF metadata are generated on startup, and music catalogs are built from a local library.

This project was built with a little help from ChatGPT Codex.

Technology & architecture

Pure HTML, CSS, and JavaScript with a small Python codebase. No frameworks, no databases, no trackers.

Everything is stored locally and configured from a single JSON file.

Privacy

This site does not collect personal information or use any third‑party analytics.

Usage data is collected anonymously, and all collected data can be viewed on the Stats page.

More detailed information about data privacy is available on the Privacy page.

Changelog
DateChange
2026-05-20Private gallery: click a date to collapse or expand that day
2026-05-20For Sale items in gear list now link to the contact page
2026-05-20Gallery lightbox: swipe to navigate on mobile
2026-05-20Gallery lightbox now works on public galleries with prev/next navigation
2026-05-20Fixed last restarted stat not updating on stats page
2026-05-20Navigation dropdowns show page hints on hover
2026-05-19Camera and lens in gallery image cards now link to the gear page
2026-05-19Fixed scroll position when navigating from hero image to gear page
2026-05-19Improved photo date detection from EXIF metadata
2026-05-19Contact page now shows interactive 3D business card
2026-05-19Added custom 404 page
2026-05-19Additional hardening
2026-05-19Added changelog to About page
2026-05-19Hero page camera and lens now link to gear page
2026-05-18Private gallery previews now download as JPEG
2026-05-18Private gallery lightbox shows filename
2026-05-15Improved startup logging with timing and progress
2026-05-15Private gallery photos no longer appear on the gear page
2026-05-15Hero image always fits the viewport without clipping the footer
2026-05-12Added password-protected private gallery with timeline view
2026-05-12Added support for HEIC images
2026-05-11Front page now shows a daily rotating hero image
2026-05-08Added gear table with expandable detail rows
2026-05-08Added photo library pipeline with automatic WebP previews
2026-05-08Added contact form
2026-03-14Initial release