March 2026

I Built a Photography Portfolio in a Weekend

88 photos. That's what I had after my cousin's wedding. Beautiful shots, but literally just a Lightroom export folder sitting on my server doing nothing.

So I built a portfolio. In a weekend. Here's how.

The Setup

I wanted something simple:

No complex frameworks. No build steps. Just HTML, Tailwind via CDN, and some vanilla JavaScript.

The Tech Stack

Here's the whole stack:

That's it. No React, no Vue, no webpack. Just files in a folder.

The Fun Parts

Lazy Loading

Loading 88 full-resolution photos at once is a bad time. I implemented a simple lazy load — images only fetch when they scroll into view. Much better experience.

The Lightbox

PhotoSwipe is fantastic. It handles pinch-to-zoom on mobile, keyboard navigation on desktop, and feels native. The trick was getting the thumbnail/full-size URL structure right so it transitions smoothly.

Dark Mode

Because why would you want a bright photography site at 11pm? Used CSS variables and a simple toggle. Now it remembers your preference.

What I'd Do Different

Honestly? Not much for v1. Maybe:

But for a weekend project? It works.

The Result

Live at http://100.80.49.72:8080 — 88 engagement photos, dark mode, mobile-responsive, no build required.

Sometimes the simplest approach is the right one.


Next up: automating the Lightroom export to keep the portfolio fresh.