Application delivery project

CityAmble: one trip planner for every city

CityAmble is a web app for planning a city trip. You pick a city, your dates and your hotel, then build each day from places, meals and events on a map. It plans Austin, Nashville, London and Paris, and it is free during its beta at cityamble.com.

How it works

You can start without an account. Choose a city, set your first and last day, and pick a hotel. The map starts at your hotel.

Each day has slots for meals and activities. When you choose a place for a slot, its card shows how far it is to walk from your hotel or from the stop before it. You can lock a stop you have already paid for, mark a stop done, or leave a slot open.

Sign in with Google to save the trip to an account. Then you can invite someone to view or edit it, and the same plan shows on every device.

Where it came from

I first built a separate planner for each trip: Nashville, London and Paris. I ran them on AutomationLab in Kubernetes, then moved them to Cloudflare Pages, with a small database behind a Worker to hold the shared plan. I also published public previews of them on this site.

Every change had to reach several copies of the same app. So I rebuilt the planner as one app. Each city is now a data file, called a city pack, that lists its places, hotels and neighborhoods. Adding a city means adding a pack, not building another site.

The old Nashville, London and Paris planners are retired. Their old links on this site now go to CityAmble.

What it gave the platform

Deploying another app should not mean repeating every hosting decision. The planners gave me a real app to design a shared deployment path around: a web interface, saved state, a hostname and sign-in protection, set up the same way each time. That supported path is the paved road, and that work continues on the platform page.

CityAmble is in beta. Check venue hours and bookings before you travel. Choosing a hotel or activity in the planner does not book it.