There are hundreds of static site generators. Hugo, Jekyll, Eleventy, Astro, Next.js — all excellent, all well-maintained, all capable of building a photography portfolio. So why make another one?
What's Already Out There
Most photographers start with a hosted platform — Squarespace, Format, SmugMug, Pixieset. These are genuinely good tools. They handle hosting, image processing, and design in one package, and for many photographers they're the right choice. The trade-off is that you're working within someone else's system: their image pipeline, their layout options, their pricing model. That works well — until you want something the platform doesn't offer.
Static site generators take a different approach. Your content is files on your machine. Your site is HTML you can host anywhere. You are in control of everything. The trade-off here is that general-purpose generators are built for general-purpose content. Want responsive images? Install a plugin, configure a pipeline, debug the output. Want EXIF metadata on your photo pages? Write a custom data loader. Want a lightbox? Find a JavaScript library, wire it up, style it to match your theme. Yes, I'm overexaggerating a bit here, but you get the picture.
None of this is a flaw in those tools — they're designed for flexibility, and they deliver it. But for my workflow, I was spending more time on plumbing than on photography.
What I Wanted
My wish list turned out to be narrow and specific:
- Organise photos into galleries by dropping them into folders
- Automatic image processing — resize, WebP conversion, responsive markup — with control over quality settings
- EXIF data surfaced without manual entry
- A place to add the metadata cameras don't capture (titles, locations, stories)
- Blog posts in Markdown, with the ability to embed photos from any gallery
- A theme that looks like a portfolio out of the box
- Static output that hosts anywhere
No plugin ecosystem. No GraphQL data layer. No build-time JavaScript framework. Just a tool that takes photos and words and turns them into a website.
I couldn't find an existing tool that did exactly this, so I built one.
What Obscura Is (and Isn't)
Obscura is an opinionated static site generator for photography portfolios. It makes decisions about image handling, metadata, and output structure so you don't have to configure them. EXIF extraction, sidecar workflows, and photo shortcodes are built in — not bolted on.
It's deliberately small. The entire system fits in your head after reading the Getting Started guide. That's a feature, not a limitation — though it does mean Obscura won't be the right tool for everyone.
If you're happy with your current setup — great, stick with it. If you've been looking for something more focused on the photographer's workflow and don't mind working with a terminal, Obscura might be worth a look.
Less webpack, more f-stop. That's the idea.