Backcountry follow-along

I created this site after my partner and I decided to thruhike Vermont's Long Trail in 2024, so we could keep our friends and family updated without having to text everyone individually. The idea was that we could post updates and photos from the trip, and also have a way to leave GPS breadcrumbs to show our progression without having to use a specific service like Garmin Explore.

Screenshot from the website. The left side is a map of Lake Tahoe, with a blue line around it denoting the Tahoe Rim Trail. Three read dots along an eastern stretch of trail are GPS check-ins from the trip. The right side shows a timeline of updates, styled as text messages with timestamps, one of which containing a photo of Greg and Nicole with backpacks on at the beginning of the trail.

Screenshot of the site during our 2025 Tahoe Rim Trail trip

The premise is pretty simple: using Twilio, I set up a phone number we could text updates and photos to. When Twilio receives a text from one of us, it POSTs the message details to an API for processing, adding them to the backend (DynamoDB & S3) to be served up by the website.

Box-and arrow architecture diagram showing the transfer of  information from phone to Twilio to the backend to the website

Architecture diagram

When sending a message from our Garmins (or using the Garmin app), GPS coordinates are added to the message, which are parsed out and used to add pins (red dots) onto the trail route (blue line), showing our progress. The map is powered by the Google Maps Platform, and uses a GPX file of the hike route to create the blue line.

The site is mobile-friendly, with the map in a drawer and toggleable.

A mobile screenshot of the map view, showing Lake Tahoe, with a blue line around it denoting the Tahoe Rim Trail. Three read dots along an eastern stretch of trail are GPS check-ins from the trip.A mobile screenshot of the timeline view, styled as a text message with a photo of a tent in front of tall pine trees.

Admins (us, hahaha) can edit messages.

A screenshot of the edit message modal.

And, importantly, an auth layer to ensure that only people we give access to can see our updates. In addition to the site's authN/authZ, the POST endpoint called by Twilio is configured to only accept messages from allowlisted phone numbers.

A screenshot of the login form.

I'm currently working on a re-write of the site, moving off of AWS infrastructure and onto Next.js/Vercel, as well as exploring new UI libraries (and hoping to be done before our next trip!).

© 2026 Greg Moyerbrailean