GPS activity viewer

TrailView

Every mile you've ever covered, on one map

Connect Strava, import your runs and rides, and see them all on an interactive map — with a heatmap showing where you go most, and elevation charts for every activity.

User Guide

Private app — invite only

TrailView is a private app. You'll need an invite from the admin before you can use it.

How to get in

The admin sends you an invite email with a link. Click the link, sign in with the invited email address — that's it. No code to enter.

If you already have a CharlesLogic account from another app, you'll still need an invite — each app's access is separate.

After you're in: You'll go straight into the 3-step onboarding wizard to connect Strava. You only do this once.

Two ways to sign in

TrailView uses your existing CharlesLogic account. Choose whichever method is easiest.

G
Google

One tap if you're already signed into Google. Fastest option — no code needed.

Email code

Enter your email, get an 8-digit code, type it in. Works anywhere, including PWA installs.

First time? After signing in with your invited email, you'll go straight to the onboarding wizard — no extra steps.

Connecting Strava

After your first sign-in, TrailView walks you through a 3-step wizard to connect your Strava account. You only do this once.

1
Enter your Strava API credentials

Go to strava.com/settings/api and create an app (or use an existing one). You'll need the Client ID and Client Secret. The wizard shows the exact callback domain to set in your Strava app settings — copy it exactly.

2
Authorize with Strava

Click Connect Strava — you'll be redirected to Strava to grant access. If Strava shows an error here, the most common cause is the wrong callback domain in your Strava app settings. The wizard shows the correct one in red.

3
Import your activities

The initial import pulls all your Strava activities. This runs in your browser — keep the page open until it finishes. Large libraries can take a few minutes. You'll see a progress count as activities come in.

Important: If you close the page during the initial import, older activities may not be imported. The sync button in the nav only catches new activities from the last sync forward — it won't re-scan old ones. Use Full Re-scan in manager mode if you need to recover.

Your activity map

After import, every activity appears on the map as a colored track line. Busier routes show more heat from the heatmap overlay.

What you'll see

Track lines — each activity is drawn on the map. Click any line to select that activity and open its detail panel.

Heatmap — a colored overlay built from all your activities combined. Brighter spots are routes you've covered more times.

Activity count — the nav bar shows how many activities are loaded and visible.

Tip: Zoom and pan the map freely. The activity list on the left updates to show only what's visible in the current map view — useful for exploring a specific area.

The activity list

The left panel shows a scrollable list of your activities. Click any row to highlight it on the map and open the detail panel.

Filtering the list

Map pan filter — as you move or zoom the map, the list updates to show only activities that pass through the visible area. Pan to a neighborhood to see only runs you've done there.

Activity type — filter by Run, Ride, Hike, Walk, or other types using the type chips above the list.

Date range — use the date filter to narrow to a specific time window.

Track detail panel

Click any activity in the list or tap a track line on the map to open its full detail panel.

What's in the detail panel

Stats — distance, moving time, elapsed time, and total elevation gain.

Elevation chart — a graph of your elevation over the course of the activity. Hover or tap to see the elevation at any point, with a corresponding marker on the map track.

Map highlight — the selected activity's track is highlighted on the map, and the view zooms to fit it.

Strava link — opens the original activity on strava.com.

Syncing new activities

After the initial import, use the sync button in the nav bar to pull in anything new from Strava.

Sync button (nav bar)

Incremental sync — pulls new activities since your last import. Shows a spinner while running. Use this regularly after workouts.

Full re-scan (manager mode)

Scans all pages of your Strava history — use if you have gaps or if the initial import was interrupted.

Reconnecting after a disconnect: If Strava tokens expire or you disconnect, use the Strava section in the user menu (top-right) to reconnect. Your credentials are preserved — you just re-authorize with Strava.

The user menu

Click the person icon in the top-right corner to open the user menu.

What's in the menu

Theme — switch between light and dark mode.

Strava status — shows whether Strava is connected. Reconnect or enter credentials here if needed.

Build version — shown in the nav bar as a short git hash, so you always know which version is running.

Sign out — signs you out completely.

Things worth knowing

💡 Install on your phone

TrailView works as a PWA — add it to your home screen for a full-screen app experience. On iPhone: Safari → Share → Add to Home Screen. On Android: browser menu → Add to Home Screen.

💡 50-point track data

TrailView stores 50 evenly-spaced GPS points per activity (not full resolution) — enough for an accurate map and elevation chart, but a fraction of the storage. This is by design and keeps the app fast even with large libraries.

💡 Strava credentials are yours

Each user connects their own Strava account with their own API credentials. Disconnecting Strava only removes the OAuth tokens — your Client ID and Secret are preserved so reconnecting is just a re-authorize click, not a full reconfiguration.

💡 Deleting activities

To delete an activity from TrailView, open its detail panel and use the delete button. This removes it from TrailView only — the original activity on Strava is untouched. It will not be re-imported on the next sync.