I had the idea for Atlas the day before Brittany and I left for our honeymoon. By the time I got to the airport, I had a working version. Before we landed in Naples, there was a web app so my mom could follow along, plus an MCP server connecting our trip to an AI assistant.

A native iOS app, a web app, and a shared backend. Five years ago, that would have been a real lift. This time, the first useful version took hours.

For me, this is Jevons paradox in practice.

The result is Atlas. It started as something we could use on the trip. It is now a record of our honeymoon through Naples, the Amalfi Coast, and Matera.

Atlas trip overview showing the route through southern Italy, photo clusters, and honeymoon statistics.
Atlas today: the route, photographs, and individual days of our honeymoon in one place. These screenshots show the current site, which has continued to evolve since the first airport-ready version. Select the image to view it full size.

Software built when we needed it

I wanted our phones to record where we went, keep the itinerary handy, and put our photos back in the places we took them. Family should be able to open a link and follow the trip. When we got home, we should have something worth revisiting.

The deadline was departure. The audience was us and the people who wanted to follow along. Those are useful constraints.

This is what I mean by just-in-time software: a specific need becomes worth solving immediately because the cost of building has fallen far enough. With Codex helping write and revise the code, I could build around the trip we were about to take.

The iPhone app handles the recording side. The web app gives family a view without installing anything. The MCP server lets an authenticated AI assistant read shared trip context, including our last uploaded locations, and work with saved places and notes. It gives the assistant context we would otherwise have to keep explaining.

The map gives the photos context

On the public site, you can start with the whole journey and then select a day. The map moves to that part of the trip, with photographs grouped around their locations. Our routes have distinct colors, and estimated connections are labeled.

Atlas filtered to October 15 on the Amalfi Coast, with separate route colors and photo clusters near Positano.
October 15 on the Amalfi Coast. Selecting a day brings its routes and photographs into view. Select the image to view it full size.

There are now more than 500 photographs in the journal. The gallery can be filtered by date and location, so finding a particular day does not require scrolling through the entire trip. A photograph has a little more context when you can also see where it fits into the day.

Atlas photo gallery filtered to October 15 and the Amalfi Coast, showing coastal views and hiking photographs.
The photo gallery, filtered to the same day and location. Select the image to view it full size.

Jevons paradox, at a personal scale

In The Coal Question, William Stanley Jevons argued that more efficient use of coal could increase total consumption: cheaper power made more applications economical, expanding demand enough to outweigh the savings per use.

The software analogy is straightforward. As the effort required to build something falls, more things become worth building. A tool for two people on one trip starts to make sense. So does a tool for one awkward process at work, or a temporary problem that will be gone in a month.

Atlas is the kind of project I would have had a hard time justifying five years ago. The value to us was real, but the work required to get a native app, a website, and the connections between them running would have been disproportionate to the problem.

Lower that effort to hours for a useful first version, and the decision changes. You create demand for software that previously would never have been commissioned.

What needed work

There was still engineering to do. Background recording, battery use, unreliable connectivity, and photo synchronization all needed attention. We kept improving the app during the trip. The native recording layer saves observations locally, and synchronization has to tolerate interruptions and retries. A working first version gets you into those real conditions quickly.

The first useful version took hours. The version live today includes the fixes and improvements that followed. Building quickly made it practical to start, use it, and keep improving it.

Now I want to keep using it for our family's future trips. Each journey could become another layer in the same atlas.

For this first one, my mom could follow along before we landed. We came home with a map of the trip and the photos attached to it. That was enough reason to build it.

Explore Atlas →