The lab
Photography, a gallery with a coffee bar, a travel company and a hotel in Colombia. They look like four ideas. Each one exists because the one before it needs it, and the last one sends the first one back around the world. One is live; the other three are concepts with a public landing you can walk through today.
david@sf ~ % ls ~/lab davidgalph/ revelado/ galph-air/ doce/ david@sf ~ % cat ~/lab/*/status davidgalph shipped live at davidgalph.com revelado concept gallery + coffee bar. no building. galph-air concept photography-led travel. no licence. doce concept twelve rooms in colombia. no rooms. david@sf ~ % cat ~/lab/DEPENDS davidgalph → revelado → galph-air → doce → davidgalph # it closes david@sf ~ % cd ~/lab/revelado/building cd: no such file or directory: building # the only thing missing is the buildings david@sf ~ %
Why this exists
The camera was the first tool that let me make something out of nothing. For a while I thought the photograph was the point. What I was actually after was the distance between an idea in my head and a thing that exists, and how fast I could close it on my own, before anybody gave me permission.
The one I have wanted longest is a photography gallery with a coffee shop underneath it. A room with my prints on the walls and something good enough downstairs that people stay long enough to actually look. I do not have the room. Buildings take money and a lease and a city that says yes.
So I built the part nobody has to approve.
I have wanted these for years. What I have never had is the partners or the time, and for most of that time that was an honest answer: any one of them meant a team I did not have and money I was not going to raise, so they stayed in a notebook.
That changed quietly, and not for the reason you would expect. The ideas did not get better. The cost of trying one collapsed. What I have now is the tooling: a stack that lets one person take any of these from an empty folder to a live domain in a night, which is the part that used to require the team.
So what is missing is no longer the building of it. It is the buildings. Nobody asked me for any of these, and that is exactly what makes them worth showing: no brief, no client and no budget decided anything, so what is on the screen is only judgement.
The four
The first one is real, and it is the reason the other three are worth a minute of your time. A folder of concepts is a mood board. A folder of concepts next to something live is a method.
Three hundred frames catalogued, an editorial one-page portfolio, a travel section with a hand-drawn map of twenty-one places, and an internal curation board that filters the whole archive by colour, format, year and theme. Designed, built and deployed in a single day. This one you can open right now.

A room where every print on the wall carries its own story, and the story is one scan away. The archive already exists and is catalogued. The walls are the missing part.
Small trips routed by light rather than by landmark. You come home with a body of work instead of a camera roll. The boarding pass already exists; the licence does not.
Where someone from anywhere finds out what this country actually looks like. Booking, arrival, the guide and what they take home are one product, not five vendors meeting at the front desk. And what they take home is the coffee.
The puzzle
Each one exists because the one before it needs something. Pull any piece out and the others lose a reason. The order below is structural rather than chronological.
Where it starts, and the only part that is finished. Three hundred frames catalogued and a portfolio already live. Art first, because everything after it is downstream of having something worth looking at.
The coffee is what brings people back; the wall is what they look at while they wait. And the coffee is Colombian, which in this whole structure is the load-bearing detail rather than a nice touch.
The answer to that question, in person. Small groups routed through the country the coffee comes from, by somebody who has driven those roads with a camera and knows what hour each place is worth.
Where the whole thing lands. Twelve rooms where someone who flew in from anywhere finds out what this country actually looks like, which is a thing you cannot be told and have to be shown.
The hotel does not stay in Colombia. The coffee brand lives in every room, and guests leave with it, along with a print off the wall. So the building has one address and the brand has none: the hotel is in a valley and in a kitchen in Boston at the same time, and it sends people back to the photographs it started with.
The night
The reason four businesses fit on one page is that the cost of trying one collapsed. That sounds like a slogan, so here is the timeline, taken from the file timestamps and the commit log of that night, copied out as they stand.
file mtimes and git log, unedited
The stack
If you already know what that number means, we are going to get along.
Three cups of coffee, paid separately and not counted. The twenty dollars is a monthly subscription, so strictly speaking everything after the first site was free.
Three tabs open, and they are not interchangeable. One of them writes with me inside my own files, which is the only reason any of this fits in a night.
What it takes
Anyone can generate a page. Getting one to a live domain, fast, accessible and not embarrassing on a phone is a different job, and it is made of unglamorous parts. These are the ones I had to learn by doing them wrong first.
Type scale, colour, spacing and grid decided once and reused everywhere, so a site of many pages still reads like one hand made it.
WebP with JPEG fallback, dimensions on every image so text does not jump, and lazy loading below the fold. Around 40% lighter on a modern browser, and I measured it.
Content Security Policy, referrer policy, HSTS and the rest, written for whichever host it lands on. The target was an A on securityheaders.com.
Canonical URLs, Open Graph and Twitter cards so the link preview is not an accident, structured data, sitemap and robots.
DNS, domain, hosting, cache headers and a rollback that works. Replacing a live site without breaking the links people already have.
Payment rails like Stripe and PayU: checkout, webhooks, and what has to be true on the back end before a page is allowed to take money.
Last line
The gallery with the coffee bar is still a building I do not have, and two of the others are still folders. But the archive is catalogued, the identity exists, two sites are live, and none of that needed a lease or a partner.
Every one of these has a landing you can read end to end, for free, with nothing to fill in, and each landing has a deck page behind it. The decks are being written right now: three of the seven sections are already public on the landings, and the rest is everything with a number in it. They publish at their own addresses as they are finished.
If one of these catches your attention, or something else in here does, I would rather talk about it than write more pages. Those conversations tend to produce something neither person walked in with, and that is the part I am actually after. david@davidgalvis.com.
And if you build this way too, I would rather hear how you do it than explain how I do. If you are in San Francisco, that is a conversation better had over coffee than in an inbox.