Trail inspection: Path of the Gods (daytrip by train from Rome)

Panoramic view of the Path of the Gods

Today I went on a trail inspection along the Path of the Gods. Due to time constraints I had to squeeze the inspection into one day. Left Rome from Termini at 6:26. The train was 25 minutes late, so delayed arrival in Naples. Bus to Bomerano. I prefered to walk to the bus station to avoid the morning rush hour on the subway, and still had time for a coffee and a cannolo. Stopped by at my two favorite vendors, an old lady selling panini with cheese produced in-house and a lemon juice shop along the way. Turbo hike that took me a bit over 2 hours. I was shocked at how good the trail was. They added guard rails next to most of the exposed area. Unfortunately a bit of the "wilderness feel" is lost now, but it's definitely much safer. Returned via bus from Positano to Sorrento. The bus was already full on a Thursday in March, so I expect this to be pretty packed on the weekend. Took about an hour. Then circumvesuviana train back to Naples (about 1.5 hours), and returned with a Frecciarossa train. I saw plenty of Italian Wall Lizards, what looked like an Aesculapian Snake (or maybe a Green Whip Snake, it was too fast!), plenty of goats and mules.

Current Conditions

Bus to Bomerano: Smooth bus ride. As usually it's an adventure in and of itself to be on a bus with the small, windy, narrow streets next to the cliffs at a high pace.

Trail 327: The trail has been completely redone, and is now super accessible compared to before, and much safer. There are very few exposed areas left without a guard rail, and the trail is wide enough when there is none. There is still lots of up- and downhill, and good fitness is still required.

New guard rails. They look great!

Montepertuso to Positano: Walking down all the steps at the end of the hike, when the legs are already tired, is not to be understimated. But no major problems.

Recommendations

  • I don't recommend doing this on the same day. I only did this due to constraints in my calendar, but one needs to take time on the path of the gods
  • This is a proper mountain hike. That means hiking boots and clothes, plenty of water supply, protection from sun

Rock on the path

How I Automated Our Weekly Newsletter with Make, Airtable, and AI

The Make.com automation scenario for the Nature of Sal weekly newsletter

Running a hiking business means most of your time should be on the trail. But every week, there's a newsletter to write – that means checking our upcoming community events, adapting the description, extracting the key information and booking link... For me, that was consistently over an hour of work (or more, try getting this done after a full day of inspecting a trail / hiking out in the mountains).

The bigger problem: the days when it most needs to happen are the exact days we're unavailable. Weekends are for leading hikes. Weekdays are for trail inspections (or private hikes). The newsletter has a habit of slipping – arriving late, getting skipped, or coming out slightly inconsistent depending on how tired I am.

So I automated it.

The foundation

This wouldn't work without something I've been building for years: a structured Airtable database of every experience we offer. Each record holds everything – the hike name, distance in kilometers, elevation gain, difficulty rating, duration, transport accessibility, description, booking URL, and a hero image.

When planning the monthly program, there's a procedure for linking specific dates and guides to each experience. By the time any given week arrives, the "Hikes this week" view in Airtable is already populated and ready to go.

The stack

  • Airtable – the source of truth for all event data
  • Make – the automation layer that orchestrates everything (might be replaced by n8n in the near future)
  • ChatGPT (gpt-4o-mini) – generates the HTML email content and subject line
  • An FTP server – hosts permanent, optimized copies of the event images
  • Mailchimp – where the finished draft campaign lands

Automation with Make

How it works, step by step

1. Airtable fetches this week's events

Make reads all records from the "Hikes this week" view. It triggers once per record, so if there are three hikes this weekend, three separate bundles of data flow through the system – one per event.

View of upcoming hikes in Airtable

2. Images are downloaded, resized, and re-uploaded

This step exists because Airtable's attachment URLs expire after roughly 24 hours. They're signed, temporary links – which means if you embed them directly in an email, they'll be broken by the time anyone opens it.

For each event, Make downloads the hero image, resizes it to 600px wide to keep file size reasonable for email, and uploads it to a dedicated folder on the FTP server. The result is a clean, permanent URL that will still resolve days or weeks later.

3. Event data is assembled into a structured block

A Text Aggregator module collects all the fields for each event – name, date, guide, price, distance, elevation, difficulty, transport info, meeting point, booking URL, description, and the new permanent image URL – into one structured text document. Each event block is separated by a delimiter so the AI knows where one ends and the next begins.

4. ChatGPT generates the full HTML email body

The assembled text goes to gpt-4o-mini along with a detailed system prompt. The model is instructed to:

  • Generate one complete HTML event block per hike, following a fixed table-based email template
  • Alternate background colors between events
  • Format the date correctly, convert kilometers to miles, convert duration from seconds to hours
  • Write 2–3 vivid but grounded sentences expanding on each description
  • Generate 5–7 specific highlights per hike (most of the time, highlights are already specified in the original description)
  • Display the correct guide photo (mapped by name) with a circular crop (the images are already existing in the media library of Mailchimp)
  • Apply the right transport note – public transport hikes get a 🚊 accessibility note; car-dependent hikes get a 🚗 carpooling facilitation note
  • Vary the call-to-action button text between events
  • Close with the static sections that appear every week: reviews, calendar link, private hike offer, and partner logos

The output is raw HTML – ready to be passed into the Mailchimp campaign body.

5. A second module writes the subject line

A separate ChatGPT module receives a brief summary of this week's events and generates a concise, engaging subject line. Keeping this as its own module means you can tune the subject line prompt independently without touching the main email generator.

6. Mailchimp creates the draft campaign

The final module creates a draft Mailchimp campaign with a structured title (in the format NEWSLETTER – YEAR – Month – Weekday), the AI-generated subject line, and the full HTML body. It lands in Mailchimp as a draft – nothing is sent automatically.

Human in the loop

I still open the draft, read through it, and make small corrections. I will also create a new subject line for A/B testing, and manually enable and fill in the social cards (for now). Then I set the send time manually and schedule it.

That review takes around five to ten minutes. The alternative was building the whole thing from scratch every week. Not bad.

A few things I learned along the way

Sometimes less is more. A capable but non-reasoning model like gpt-4o-mini is faster, cheaper, and produces better output here.

The image expiration issue would have silently broken everything. Airtable's URLs look like normal image links until you open an email 48 hours later and find broken images. The FTP re-upload step adds two modules but solves it completely.

The database is the actual foundation. Years of structured data in Airtable is what makes it possible for an AI to generate accurate, consistent newsletters without guessing. The automation is straightforward – the hard work was building the database in the first place.

Trail inspection: Tiber (Urban segment between Porta Portese and Ponte del Risorgimento)

Access road to the Tiber with some mood from the last flood

I inspected river bank ahead of our organised urban hike due to reports that after the recent flood it was partially inaccessible. On the day of the inspection I found two segments with wet mud that forced me to temporarily exit the trail via the steps leading back up to surface level. While the entire segment was heavily impacted by the flood (plastic hanging everywhere in the shrubs and trees, some city employees were cleaning the bank as I was there, dislocated shrubs/trees, water levels where still quiet high), most of the trail was accessible and the trail provided enough naturalistic and historic highlights. Water levels were at a safe level. Saw some herons, cormorants, nutria, a moorhen.

Current Conditions

Access road: Via Porta Portese – coming from Metro B – Piramide. Everything is free. Some vehicles from the municipality were doing cleanup work. Cyclists and runners present.

Porta Portese – Ponte Sisto: Trail completely clean until shortly before and after Ponte Sisto. Cleanup works were ongoing and that part was closed off to the public. However, the day after (March 7, 2026) the segment was free, clean and accessible.

Ponte Sisto – Ponte Vittorio Emanuele: Trail clear, I had to exit the trail before Castel S. Angelo due to the presence of deep, and partially wet mud. In fact, some social media posts are making their rounds, showing cyclists and other people getting stuck in that spot, which is also filled with abandoned bicycles / scooters. I re-entered the tiber bank right from the steps next to the "Ponte Sant'Angelo"

Some bicycles didn't make it

Ponte Sant'Angelo – Ponte Matteotti: Trail clear.

Matteotti – Ponte del Risorgimento: Deep mud still present.

Some mud is still present

Acess from Lungotevere delle Armi/Ponte Matteotti

Recommendations

  • Bring binoculars
  • With current muddy patches, comfortable midcut hiking boots can be useful

Trail inspection: Tiber (Urban segment between Porta Portese and Ponte del Risorgimento)

Access road to the Tiber with some mood from the last flood

I inspected river bank ahead of our organised urban hike due to reports that after the recent flood it was partially inaccessible. On the day of the inspection I found two segments with wet mud that forced me to temporarily exit the trail via the steps leading back up to surface level. While the entire segment was heavily impacted by the flood (plastic hanging everywhere in the shrubs and trees, some city employees were cleaning the bank as I was there, dislocated shrubs/trees, water levels where still quiet high), most of the trail was accessible and the trail provided enough naturalistic and historic highlights. Water levels were at a safe level. Saw some herons, cormorants, nutria, a moorhen.

Current Conditions

Access road: Via Porta Portese – coming from Metro B – Piramide. Everything is free. Some vehicles from the municipality were doing cleanup work. Cyclists and runners present.

Porta Portese – Ponte Sisto: Trail completely clean until shortly before and after Ponte Sisto. Cleanup works were ongoing and that part was closed off to the public. However, the day after (March 7, 2026) the segment was free, clean and accessible.

Ponte Sisto – Ponte Vittorio Emanuele: Trail clear, I had to exit the trail before Castel S. Angelo due to the presence of deep, and partially wet mud. In fact, some social media posts are making their rounds, showing cyclists and other people getting stuck in that spot, which is also filled with abandoned bicycles / scooters. I re-entered the tiber bank right from the steps next to the "Ponte Sant'Angelo"

Some bicycles didn't make it

Ponte Sant'Angelo – Ponte Matteotti: Trail clear.

Matteotti – Ponte del Risorgimento: Deep mud still present.

Some mud is still present

Acess from Lungotevere delle Armi/Ponte Matteotti

Recommendations

  • Bring binoculars
  • With current muddy patches, comfortable midcut hiking boots can be useful

Trail Inspection: Monte Gennaro after the February rains

Maremmana cow drinking for a waterhole near the summit of Mt. Gennaro

A quick trail inspection after our snowshoe season, focusing now on lower mountains and gradually working our way up to higher altitudes until summer. Saw a wolf (just for 2 seconds before it disappeared into the forest), the usual herds of maremmana cows and free-roaming horses, a huge toad. No human encounters except for the last kilometer on the way back, where two girls were sitting near the former "elephant tree (a centuries old beech tree, which sadly collapsed last year)", and two young men walking up the trail. Very quick inspection, it took me about 30 minutes to the Pratone, I was up at Mt. Gennaro after about 1.5 hours. I started around 12.20 and was done around 3.45pm.

Current Conditions

Access road: No major problems, the lane up the mountain is better than the other lane returning, which appears to have more potholes and seems to be breaking apart faster; but besides the odd loose rock on the ground, no problems. Dry. Accessible.

Trail 302B: Mainly dry. Some mud present, but almost all dry. Rocky as always.

Trail 303: The beech forest was very pleasant. Some grazing maremmana cows roaming around, but none blocked the trails this time. Some wet and more slippery spots (roots, limestone), but all doable for regular hikers with good soles.

Trail 305: Pratone is now looking like spring, the highland is full of Crocus (and not only), also full of horses and maremmana cattle. No major problems or noteworthy obstacles on the way to the summit of Mt. Gennaro at 1271m.

Trail 301: Rocky return until entering the forest trail. Lovely view facing west near the "Scalarola". Trail 301A has some very muddy spots, partially deep and slippery, but it's easy to navigate around.

Recommendations

  • Wear waterproof hiking boots
  • Bring enough water and sun protection, even now it gets very hot on a sunny day
  • Radio and satellite communicator can be very useful. Also compass and map. I always refer to the entire Lucretili park as "Rome's Bermuda Triangle", as every now and then someone tends to get lost here. Don't be one of them!