TL;DR — I'm a photographer, not a developer. I wanted a Pixieset-style client gallery built around my own brand, on my own domain. A real agency would have quoted €15k+. I built it in a weekend with Claude for €0/month. Next.js + Supabase + Vercel + a lot of plain-English conversations. If you can describe what you want, you can have it. The hardest part isn't coding anymore — it's knowing what you actually want.
I'm not a developer. I'm a photographer and brand designer who runs a one-person creative studio out of Rotterdam. Until recently, every website I built was either a Wix drag-and-drop or a Framer template — and every time I wanted something genuinely custom, I hit a wall.
This site is the first one I've ever built from scratch. Sort of.
The brief I wrote for myself
For years I'd been delivering client photos via WeTransfer, Google Drive, and the occasional sad little Dropbox folder. Clients would lose the links. I'd lose track of what I'd sent. None of it felt like Rumfunk.
I wanted what Pixieset does for wedding photographers — clean, password-protected client galleries with downloadable originals — but built around my own brand, on my own domain, with my own pricing and editorial sensibility. Not a template. Not a subscription. Mine.
So I sketched it out:
- A homepage that doesn't look like every other "creative studio" template
- A real client gallery system with private links per shoot
- Editable everything: add a new shoot, swap the cover photo, change pricing — without touching code
- Bilingual (EN / NL) because half my market reads in Dutch
- Fast enough that a bar owner on their phone gets the gallery in under two seconds
A real developer would have quoted me €15,000+ for that scope. I had €0 and a weekend.
Claude as a collaborator, not a tool
I'd been using Claude for writing — captions, client emails, the occasional pitch deck. I'd never asked it to build anything.
So I just started talking to it like I'd talk to a developer friend at a bar. "I want a photo gallery site, here's my logo, here are the client names I've worked with, here's the vibe I'm going for." It asked clarifying questions. I answered them in plain English. Then it started writing code.
The shift in my head: Claude isn't a search engine for code snippets. It's a collaborator that holds the whole project in its head and pushes back when I'm about to do something dumb. When I asked for a fancy parallax hero with floating photos, it built it. When I asked it to remove a feature that wasn't working, it remembered why we'd added it in the first place and suggested a fix instead.
The stack (so you know what's under the hood)
- Next.js 14 + TypeScript — the framework most of the modern web runs on
- Supabase — Postgres database + photo storage in one
- Tailwind CSS + custom design — the typography is Outfit, the layout is hand-tuned
- Vercel — hosts the site for free at the scale I need
- Claude Sonnet — the actual builder of 99% of the code
Total monthly cost: about €0 until I hit scale.
What surprised me
1. AI is bad at decisions, brilliant at execution. I kept assuming I had to know what I wanted before I could ask. But the best moments came from describing the feeling I wanted ("I want it to feel like a quiet hotel lobby, not a stock-photo agency") and letting Claude propose three different approaches.
2. Friction beats features. I built two versions of the gallery: one with a fancy lightbox and image filters, and one that just shows your photos cleanly with a download button. Guess which one clients actually use? Every time you add a feature, you're adding a place where someone gets stuck. The best feature is usually no feature.
3. The real bottleneck wasn't coding — it was decisions. Should the toggle save in a cookie or in the URL? Should galleries default to password-protected or open? Each of those is a five-second answer if you know what you want, and a two-hour rabbit hole if you don't. AI surfaces those decisions faster than you can. That's both a gift and a tax on your attention.
What I'd tell another non-developer
Don't try to "vibe-code" a SaaS startup with AI on day one. That's how you end up with a half-broken app you can't maintain. Start with a project where:
- You know exactly what you want it to do (not how it should be built)
- The audience is small enough that a bug isn't catastrophic
- You'd be happy with the result even if it took you the full weekend to manually copy-paste
A portfolio site is perfect. A client gallery is perfect. A landing page for your bar is perfect. An automated trading bot or a payments system is not.
What this site does now
Every shoot you see on /gallery was uploaded by me in admin. The Dutch translation toggle in the header? I described what I wanted, Claude wrote the translation file, I edited the bits that didn't sound right. The little floating €1,000 pricing button? Two messages.
I'm still finding things I want to change. There's a draggable photo reorder in admin coming next, plus a real cookie consent banner. But the site is live, on my domain, doing exactly what I want — and I built it.
If you're a hospitality founder, a fellow photographer, or anyone with an idea sitting in a notebook because you can't code: it's not the wall it used to be. The hardest part now is figuring out what you actually want.
If you want to talk about getting your own brand online — drop me a line: info@rumfunk.nl. Always up for a coffee in Rotterdam.
— Ziggy

