Gerben Put Nederlands

← Back to the overview

Atlas

My travel journal, as postcards

A personal travel journal: every trip a postcard with photos, a story and a pin on a spinning globe. With its own editor for adding and editing trips.

Node.js · Express · TypeScript · PostgreSQL · MinIO · sharp · D3 · Leaflet · Docker

Atlas: Screenshot of the live site
Scroll: this is the real site

The story

The idea

Travel photos disappear into your phone. I wanted a place where every trip gets its own page, with the story alongside and a spot on the map, that feels like a stack of postcards rather than a blog.

The design

Warm paper, passport stamps, a boarding pass with the trip details and postcards lying slightly askew. In dark mode it becomes a night train.

Under the hood

An Express API in TypeScript with PostgreSQL for the trips and MinIO for the photos. Every upload is rotated, resized to WebP and stripped of metadata on the server.

In detail

Globe
A draggable D3 globe with a pin per trip; click to open the trip.
Timeline
Trips grouped by year, filterable by tag and searchable.
Trip page
Story, photo gallery with lightbox, YouTube videos and a mini map.
Editor
Drop a pin on the map, drag and sort photos, paste text and images.
Photo pipeline
Up to 100 MB per photo; the server turns it into a light web version.
Secure
Strict Content-Security-Policy, sanitised stories and an admin login.
Next project AI Academie Learn how AI works, by doing it