about this site
This is a photography portfolio showcasing images from Halifax, Nova Scotia and surrounding areas. It's also a demonstration: I built the entire site through conversation with AI: designed, coded, reviewed, and shipped that way, primarily with Claude Code. I provide the direction and taste; the AI writes the code. The point is to show what that workflow can actually produce.
Not the photographs. Every image in the gallery came out of a camera, not a model.
The project is open source. Browse the repository, see how everything is built, or fork it if you want to build something similar.
Image descriptions, titles, and tags are drafted by Claude's Vision API when I upload a photo. Descriptions I haven't personally edited carry a small “AI-generated description” label in the lightbox. When that label is absent, a human reviewed the words.
The code itself is written through conversation: I describe what I want, review what comes back, and we iterate. Design decisions worth remembering get written down in the repository, so the process is auditable end to end. The working design notes for the site's photographer console are public too, at hensler.photography/design.html.
The technical stack, for those curious:
- Frontend: Vanilla HTML, CSS, JavaScript. No frameworks.
- Backend: Python with FastAPI for the image management API
- Database: SQLite storing image metadata, EXIF data, and analytics
- Image processing: Automatic WebP conversion (images are 10-20x smaller)
- Hosting: Docker containers on a VPS, Caddy for HTTPS
- Analytics: Privacy-preserving (no cookies, hashed IPs, no personal data)
about adrian
I'm Adrian Hensler. I live in Halifax, Nova Scotia, and I photograph the land, light, and life around me: wildlife on the milkweed, fog rolling over the harbour, the boardwalk at golden hour. Most of what you'll find here was made within an hour of home.
I work in technology by profession; photography is how I slow down and pay attention. The gallery favours patient subjects: birds, shorelines, weather, and the occasional architectural line that won't stop staring back.
Photography runs in the family; my son Liam shoots too. You can find his work at liam.hensler.photography.
prints & contact
Prints of any photograph in the gallery are available on request. If an image stays with you, I'd genuinely like to hear which one.
Reach me at adrianhensler@gmail.com. More of my archive lives on Flickr.