Not a features list. The reasoning behind a live travel journal - from the conversations that started it, to the decisions that kept it from being a blog.
Live siteEvery time travel came up in conversation, people wanted the 2023 trip - the budget-and-luxury mix, the off-the-list places - and more than a few asked if I'd ever turn it into something. I never cared enough to.
The stories people kept asking to hear. Told, retold, never written down anywhere.
The same conversations happened again after a new trip. That time, I built it instead of just telling it.
I wanted explicit control - over the design, and over my own data. If I ever sunset this, it should be as easy as deleting a folder, not fighting an export button on someone else's platform. That control is also what let it look like nothing else.
The photos are the point - not something to lift for someone else's feed.
Not a platform's badge in the corner. A mark that's actually part of the design.
Owning the design meant the visual language could come from travel itself.
A blog is one post, one day, one place, read as a reverse-chronological feed. Each safar entry reads as its own dated, photographed day instead - browsable by map, by tag, or by search, not just a feed.
An airport express that never ran, a hike into mosquito season…
The Safar card is recreated from the real component - the torn photo edge, tape corners, and parchment palette are actually shipped, not invented for this comparison. A typical blog is a feed of posts competing for a glance; safar treats a single day like something worth holding, not scrolling past.
One real day proved why the one-post-one-place blog model doesn't hold up: Salzburg in the morning, a boat across to Hallstatt by evening. A blog would force that into one post, one place. Safar splits the photos by where they were actually taken.
Salzburg and Hallstatt photos mixed together - a reader has to guess which is which.
A heading per place, in the order the day happened - the first city first.
Owning the design meant it didn't have to look like anything else. Three completely different physical metaphors got fully built out and compared before one won.
A celestial star-chart, routes plotted like pre-GPS nautical navigation.
An airport departures board - split-flap headline, live flight-status entries.
A vintage travel-stamp postcard system - the one that stuck.
"A Story Every Turn." Live now.
A search box is three products, not one: what you get with a match, what you get before you've typed anything, and what you get when there isn't a match. None of that could be designed until there was enough real content to actually search.
A place, an entry, and a journey can all answer the same word - shown grouped, not ranked into one guess.
An empty box isn't a dead end - it opens to somewhere to go, not a blank field waiting to be filled.
Nothing found for "atlantis" - across entries, journeys, or places.
Says what was searched and what was searched across - not just "no results."
Next time someone asks about the trip, there's somewhere to actually send them - the same budget-and-luxury, off-the-list travel people kept asking to hear about, written down, mapped, and searchable.
Interested in how I can help your team ship faster? I'd love to hear what you're working on.