TrailQ help

Installing, starting and the first steps · Nederlands

1. What is TrailQ?

TrailQ helps you choose, walk and look back on walks. It works in three phases, chosen at the top:

TrailQ in Explore: the map of Tenerife on the left, the list with scores on the right
Explore with the workspace Tenerife: the map on the left, the list with the score per walk on the right; at the top the phases Explore, Go and Analyse.

TrailQ runs as a small web server on your own laptop; you use it in your browser. Your walks stay on your own disk.

2. Installing and starting on a Windows laptop

What you need

Step by step

  1. Unpack the zip to a fixed place, for example C:\TrailQ.
  2. In that folder make a text file trailq_token.txt with a password of your own on one line, for example mypassword. You need it when importing walks.
  3. Double-click install_trailq.bat once. It makes a Python environment of its own (folder .venv) and installs the packages needed; it takes a few minutes. At the end it says Klaar (done).
  4. Double-click start_trailq.bat.
    • The server starts in a black window and your browser opens http://localhost:5050.
    • If Windows asks for access through the firewall: Private networks is enough.
  5. Stopping: close the server's black window. From then on you simply start again with start_trailq.bat.

Settings in config.json (optional)

The config.json that comes with TrailQ works straight away; all folders are in the TrailQ folder. If you want something else, open the file in Notepad:

KeyMeaningDefault
dataRootWhere TrailQ keeps datasets, workspaces, sessions and profiles.data
gpxRootWhere imported GPX files go.data/gpx
photoRootThe main folder of your photos, if you want to see photos with walks (for example D:/Photos). Use forward slashes /.photos
vaultOnly for importing from Obsidian.empty

After a change: close the server and run start_trailq.bat again.

The password in trailq_token.txt only protects importing and writing. On your own laptop that is enough; do not open TrailQ to the internet.

3. Use case 1: loading and filtering a new dataset

You have a folder with GPX files, for example from a walking guide or your own recordings, and want to see and search them in TrailQ.

Importing

  1. Choose Explore at the top and Data below it.
  2. Click Import. Fill in:
    • Dataset: a short name, for example Dolomites.
    • Source: GPX (or Obsidian for an Obsidian vault, Geocache for a geocache file).
    • Where are the files? Choose one of the two:
      • Upload from the device on which you use TrailQ: Choose files (several at once, also on the phone), Choose folder (a whole folder with subfolders, only on the computer), or drag files or a .zip onto the box. With Obsidian only the notes and GPX files go along; photos stay where they are.
      • Source directory: a folder on the computer where the TrailQ server runs, for example C:\Users\Jan\Documents\GPX\Dolomites. Subfolders are included.
    • New dataset / replace or Add to an existing dataset: choose add when you want to put single walks (for example from your phone) into an existing dataset. A walk with the same GPX file is then updated, the rest stays.
    • Labels (optional): for example Dolomites, mountain walk. All imported walks get these labels.
    • Admin token: the password from trailq_token.txt.
  3. Click Import. You see the progress per walk. Afterwards TrailQ shows a summary: new and changed walks (with what changed), the number unchanged, when replacing the walks that are gone, notes without GPX (those are not included) and what failed. Click OK; the dataset is then on the map.
The Data tab
The Data tab: reading, importing, enriching and the data quality.
The Import dataset window
The window for importing.

Choosing what is loaded

  1. In Data click Walk sets. Tick the datasets you want to see.
  2. With ⚙ behind a dataset you choose countries, regions and types (walk, bike, …). That way you load only the part you need.
  3. With ○ own you mark a dataset as your own walks (walked by you). They show as a circle on the map and in the bubble, all others as a square. An Obsidian import is own automatically; with a GPX import you tick These are my own walks.
The Walk sets window
Walk sets: which datasets the workspace loads.

Filtering and viewing

The unfolded filter row with Calculation and Filter
The filter row unfolded: Calculation (duration profile, preferences) and Filter (sessions, labels).
Details of Barranco Seco, Overview tab
Details → Overview of Barranco Seco: photos (people made unrecognisable), elevation profile, walked 3× with the stars per time, the download and similar to.

Saving

Click the workspace button at the top (next to the logo) and choose Save as..., for example Dolomites. A workspace remembers the chosen datasets, map view, filters and preferences. A ● behind the name means: there are changes that have not been saved yet. When you open TrailQ again, the workspace you used last opens at once.

Do you have your own recordings with times in the GPX? Then choose Profiles → Build a duration profile. TrailQ then learns your pace per gradient, and the estimated duration of every walk becomes more personal.

4. Use case 2: the best walks for your holiday

Example: you are going to Tenerife for a week and are looking for day walks of about 15 km with at most 800 m of climbing.

  1. The area: in Walk sets → ⚙ choose the country and region, or zoom the map to your holiday area. Everything outside the view drops out of the list.
  2. Your wishes: open 🎯 Preferences, tick Distance and set it to 15 km, tick Ascent and set it to 800 m. Every walk gets a score: the closer to your wishes, the higher. The list, the colours and the heatmap follow at once.
  3. Where are the good walks? Choose Heatmap above the map. Warm spots are areas with many well fitting walks. Zoom in there.
  4. Comparing in the bubble: choose Bubble. Set for example X to Distance, Y to Elevation and the size to Duration. The colour is the score: green fits well, red less. Move a preference and see the colours move along. Click a bubble to open that walk.
  5. The list: sort on Score (top column). Look at the details of the best candidates: elevation profile, duration, photos, estimated kcal.
  6. A shortlist with labels:
    • Per walk: in Details, tab Rating, add a label, for example Tenerife 2027.
    • Or for a whole group at once: make sure exactly those walks are in the list (zoom, filters), open 🏷 Labels and add the label under All n walks in the list.
  7. Only your shortlist: in 🏷 Labels click the label until it says + Tenerife 2027. Clicking again gives − Tenerife 2027 (just without that label, for example − Bike), and then neutral again. Labels can be combined: + Tenerife 2027 and + with the dog gives only walks with both.
  8. Saving: save the workspace as Tenerife 2027. On the way you open it and choose a walk per day with Go ▶.
The Preferences panel with distance, ascent, duration, rating and experience
🎯 Preferences: wishes for the score, and the experience words to look for (+) or avoid (−).
The Labels panel with plus and minus
🏷 Labels: click for + (must), − (must not) or neutral.
Heatmap of Tenerife
Heatmap: where the well fitting walks are.
Bubble with distance and elevation
Bubble: distance against ascent, the size is the duration, the colour the score; circles are own walks.
A plan per day: do you want a walk per day, with your place to stay, the driving time, the weather and a report to take along? Use the Holiday tab; see use case 6.
Looking for a piece of a certain duration, for example a 45-minute training? Use the Stretches tab next to Walks: give a duration (and optionally kcal) and click a row. The walk opens in Details on Route, and the piece is coloured orange on the map and in the elevation profile.

5. Use case 3: analysing a training and calibrating the cross trainer

Example: on the cross trainer you walked the stretch Naar de top van Kos (to the top of Kos), a 1.8 km piece of the walk Antimachia - Zia with gradients up to 30 %. You also really walked that walk, with GPS. Now you want to look back on the training and make sure the cross trainer from now on moves over the route as fast as you do in reality.

Beforehand: the training in Go

  1. Make the stretch in Explore: open the walk, tab Route, New stretch, choose the start and end on the elevation profile and click Save.
  2. In Go there is a checklist before the start. Choose Cross trainer at the top and click Connect in the card below. That works in Chrome with Bluetooth, on the laptop itself (localhost) or over HTTPS.
  3. The card sums up the settings, for example base level 6 · strength 0.8 · calibration x0.31 on. With Change › you adjust them: Base level and Strength decide how strongly the resistance follows the gradient.
  4. Choose a Stretch, optionally a Goal and opponents. Under Expected you see the distance, time, ascent and kcal of the ride.
  5. Leave ⏺ on and start with Start. On the way ⏸ ⏹ and + event here are at the top, below them distance, time, speed and how far you are ahead or behind. On the phone you find the elevation profile and On the way on the Route screen; the Android back button goes back to the previous screen.
  6. Stopping: tap ⏹; the button becomes Stop? and a second tap within 3 seconds stops. TrailQ then keeps the training as a session and opens Analyse with that session. A ride shorter than 100 m or 1 minute is not kept.
Go with the cross trainer as the source, before the start
Go before the start: the cross trainer as the source with base level, strength and calibration, stretch, goal, opponents, what to expect, the schedule and the elevation profile.

Looking back on the session

At the top of Analyse are the Sessions: the sessions of the chosen walk, or with All all sessions, newest first. Open a session for:

Analyse: an opened cross trainer session
Analyse with the session Naar de top van Kos opened.

Comparing and goals

Why calibrate?

The cross trainer measures a speed, but it says little about walking. In the example the console reported 1.81 km in 14 minutes, on average 7.8 km/h, uphill at 15 to 30 %. You do not walk such a slope that fast. Without calibration the position on the route follows the cross trainer 1 to 1. So the stretch is finished far too soon and you win every race by a wide margin. Calibrating converts the cross trainer's speed into walking pace, per gradient.

Calibrating

  1. In Explore choose the walk of the training (here Antimachia - Zia) and go to Analyse.
  2. Right after a cross trainer session of at least 1 km Analyse asks: Use this cross trainer session for the calibration?, with your current calibration. Choose Calibrate or Not now. Later it is always possible with Calibrate with this session at a session. The training's log is in the session; TrailQ chooses the session's walk first if needed and calculates at once.
  3. Per gradient of 5 % TrailQ compares the cross trainer's speed with a reference:
    • Compared with your own recording of this route: the walk's GPX has times (your own recording); TrailQ takes your real walking pace from it, without breaks.
    • Compared with the workspace's duration profile: no times in the GPX; then the pace of your duration profile counts.
  4. Per gradient you see the factor and how many km were walked. In the example:
    GradientFactorWalked
    15 %x0.310.46 km
    20 %x0.310.34 km
    25 %x0.270.29 km
    30 %x0.290.22 km
    Totalx0.311.82 km
    x0.31 means: 1 km on the cross trainer is 0.31 km of walking. Gradients with less than 0.2 km of data get the factor of the nearest gradients with data. You must have walked at least 1 km of the route.
  5. Below the table is the old and new total factor, for example Now x0.31 → new x0.29. Nothing changes until you click Save calibration. There is one calibration; a new one replaces the previous one (TrailQ keeps the previous one as a backup). Analyse and the status bar then show for example Cross trainer calibration 13-10-2026 · own GPX (Antimachia - Zia) · 1.8 km · x0.31.
The calibration with the factor per gradient
The result of Calibrate with this session: the factor per gradient; nothing changes until Save calibration.

Applying the calibration

What do you notice?

Without calibrationWith calibration (x0.31)
Pace over the route7.8 km/h, as the console reportsabout 2.4 km/h, your walking pace on these gradients
Time for the stretch (1.8 km)14 minutesabout 45 minutes, as you really walk it
Schedule, goal and opponentsyou are far ahead; the race says nothing (22:04 ahead of Goal)a fair comparison with your duration profile, your goal and your GPS sessions
Resistancein both cases follows the gradient where you are on the route; with calibration you are longer on each gradient, so you also train longer on it
Caloriesin both cases from the console

A calibration does not change sessions saved earlier: they keep the distance and time they were recorded with. A session from before calibrating is therefore much faster than one after it; keep that in mind with Compare and with a goal on a session.

Keep the screen on is under ⚙ and is on by default.
With calibration a stretch takes longer, but it counts fairly. For a short training, choose a short stretch, for example with the Stretches tab and a duration of 30 minutes (use case 4).

6. Use case 4: training on the cross trainer (finding a stretch)

Example: tonight you want 45 minutes on the cross trainer, with plenty of climbing, over a route you know from your holiday on Kos.

Finding a stretch

  1. Which walks? Open the workspace with the walks you want to choose from, for example Kos. TrailQ searches the walks that pass the list's filters (Walks → Filter: labels, sessions), not only what is on the map. Bike routes do not count.
  2. Choose the Stretches tab next to Walks. Fill in: Duration 45 min, optionally a Goal in kcal, and choose 🏋 Cross trainer. Click Search.
  3. You get a list of the best pieces: walk, km from–to, minutes, kcal, ascent and the deviation from what you asked. Rows with 📌 are your own stretches; suggestion is a piece TrailQ suggests (at most 3 per walk, at least 0.5 km apart). With an equal deviation the piece with more kcal or climbing is on top.
  4. Looking: click a row. The walk opens in Details on Route, and the piece is coloured orange on the map and as a band in the elevation profile. You see at once how steep it is; the cross trainer's resistance will follow those gradients.
  5. Saving: Save turns a suggestion into a stretch with a suggested name, such as Klim 3,1–7,4 km. You give it a better name in Route → Change.
  6. Starting: Go ▶ chooses the walk, the cross trainer and this stretch, and goes to Go. There you connect the cross trainer and start, as in use case 3.
Finding a stretch: 45 minutes on the cross trainer, the piece orange on map and profile
Searching for 45 minutes on the cross trainer (Kos): the chosen piece of Prophet Elias is coloured orange on the map and as a band in the elevation profile.

How TrailQ estimates the minutes and kcal

Maintaining your stretches

Want to really climb? Look at the column ▲ m in the results and choose a piece with much ascent in few km. Want to recover quietly? Search with a shorter duration and choose a piece with little ascent.

7. Use case 5: using labels, events and experience

TrailQ has three ways to record something with a walk. They look alike, but they are for different things. The rule of thumb:

About the whole walk and you want to filter on it → a label. About one spot or piece of the route → an event. Your judgement: how was it? → experience.
LabelEventExperience
WhatA word with the whole walkA point or piece of the route, with a kind: 👁 View, 💧 Water, 🪑 Resting place, ⚠ Caution, 📍 OtherStars (1–5) and words: green what made it worth it, red what bothered you
Where you make itDetails → Rating → + label, or for the whole list through 🏷 LabelsDetails → Route → New event, or on the way in Go with + event hereDetails → Rating, or after a session at How was it?
What TrailQ does with itFiltering (Filter → 🏷 Labels, + must have, − must not)An icon on the elevation profile, a piece as a band; in Go you see what is coming; view, water and caution give a suggestion for the experienceYour stars count in the score; they are shown with similar to; the words make up your experience profile
Applies toThe walk, in every workspace. The workspace only keeps which label filter is on.

Labels: ordering and filtering

Events: what is on the route

Details Route of Antimachia - Zia with events and stretches
Details → Route: events as icons on the elevation profile (⚠ Einde asfalt, end of asphalt), stretches as bands.

Experience: what it was worth to you

Details Rating with stars and words
Details → Rating: stars, green and red words; dotted is a suggestion (here unsafe, from a ⚠ event).

The experience words themselves (rust, uitzicht, asfalt …) are Dutch: TrailQ reads them from your Dutch notes, and your own texts are not translated.

8. Use case 6: planning a walking holiday

Example: the Kerstvakantie La Palma (Christmas holiday La Palma), ten days from 17 December, with an apartment in Tazacorte. TrailQ looks for a walk per day that fits your wishes and lies within a reasonable driving time of your place to stay, and makes a report of it to take along.

Beforehand

1. Place to stay

Choose the Holiday tab and give the holiday a name, the first day and the number of days. Under Place to stay you choose how many addresses you want (At most addresses) and then:

Give the place to stay a name and, if you like, the address; it goes into the report. Divide the nights. On the map every place to stay is a purple letter (A, B).

The Place to stay block with place A in Tazacorte, 10 nights
One place to stay, clicked on the map, with an address.

2. Wishes

The Wishes block: travel time, days, rising, variation
The wishes for the plan.

3. Making the plan

Click Make plan. TrailQ asks for the driving times (a task in the task list) and chooses the walks with the highest score minus the penalty points; with several places to stay they are planned together, and a walk much quicker to reach from another place goes to that place.

The plan: per day number, date, place, weather, walk, figures, driving time and score
The plan. The day's number is the same square as on the map; the border is the difficulty (blue easy, red medium, black hard). Light blue rows are your own walks.

Per day you see the date, the place to stay, the weather, the walk with difficulty, stars and experience, the distance, the ascent, the duration, the driving time and the score. Click a walk to look at it in Details.

Map of La Palma with the numbered days and place A
On the map: the days as numbered squares, the place to stay as a purple letter and a dotted line from the place to every start.

4. Why not the best walks?

Below the plan it says which walks from the top of your list are not in the plan, and why: too far to drive, too close to another day, or the days from that place already have better walks. With advice to get them in, and a button to do it at once:

The block with the walks not in the plan and the advice
Los Sauces (83) is an 89-minute drive from Tazacorte; with a travel time of 90 minutes it comes within reach.

5. Adjusting

Day 2 with the three alternatives and the Choose buttons
The alternatives for day 2.
Orange dot: if you change something afterwards that affects the plan (filters, preferences, the wishes, more walks loaded), the Holiday tab gets the same orange dot as the workspace, and the plan says it is out of date. Then choose Make plan again; pinned days stay.

6. The weather

With a first day, every day shows the weather at the place to stay: the forecast when the day is within about two weeks, otherwise the climate (c): the average of the same days over the past ten years, with the chance of rain. 🔄 Update weather under the plan fetches the forecast again; that is only possible once a day is within 15 days, before that the climate applies. When a hard (black) walk falls on a day with bad weather (thunder, snow, rain, 30° or more), a red warning shows, in the report too.

7. The report

📄 Report makes a document over the app; with Print or save as PDF you choose a printer or Save as PDF. It consists of:

The cover of the report
The cover.
The page of day 1, Vulcan Martin
Day 1 (people in the photos made unrecognisable).
The page with the alternatives per day
The alternatives per day; the planned walk is grey.

8. Saving

Save the workspace: the holiday with the plan, the places to stay and the pinned days belongs to it. TrailQ keeps the driving times and the weather separately, so opening it again is quick. When you open TrailQ later, the workspace you used last opens at once.

9. How TrailQ judges walks and learns

TrailQ looks at a walk in three ways: what the route is (measured on import), what you want (your preferences) and what you experience (your ratings). Below, per part, where it comes from and where you see it.

What TrailQ measures on import

PartWhere it comes fromWhere you see it
DurationWith Default: for own walks the real time from the GPX (without ~), otherwise an estimate. With a chosen duration profile: everything estimated with your pace per gradient (with ~).List, Details, bubble
DifficultyWhich part of the route is steeper than 15 and 25 %; for own walks also how slow you were on steep pieces (terrain). A via ferrata is always hard.Coloured circle, explanation in the tooltip
QualityFew points, separate pieces, a car ride or lift, gaps in time, standing still, elevation, a planned route, photos.Details, Data → Walk quality
Review and wordsFrom your Obsidian note: the review (0–10) and words from the text (such as uitzicht, view, and asfalt, asphalt). "Weinig tot geen asfalt" (little to no asphalt) and "mocht je het te zwaar vinden" (should you find it too hard) do not count.Details → Experience (as a suggestion)

Data quality: finding and repairing bad stretches

What you want: the score

The score (0–100, the colour in the list, bubble and heatmap) comes from your 🎯 Preferences: how close a walk is to your wish for distance, ascent and duration, your review, and the geocaches along the route. Without ticked preferences mainly the review counts. If you rated a walk yourself with stars, those stars count instead of the review (★★★ as 7.2, ★★★★ as 8, ★★★★★ as 9). Next to other wishes the rating counts only a little; with the wish Rating in 🎯 Preferences you set with the slider how strongly (little … very much). Quality does not count.

With the wish Walked before in 🎯 Preferences you choose between new and known: a walk you walked before (or a route you walked before) then gets −25, −12, 0, +8 or +15 points. Own walks often score high because of your ratings; with new new walks get a chance, in the list and in the holiday planning.

Experience as a wish: at the bottom of 🎯 Preferences are the experience words. Tap a word for + look for (green), again for − avoid (red), again for off. Walks with the words you look for score higher, with words you avoid lower. A walk's words are those of your own rating, otherwise those from your note, plus those of your events. So it works mainly for your own walks: downloaded walks have no words (yet) and get a neutral value. Handy for questions like which of my walks here had water and little asphalt?

What you experience: rating

What TrailQ learns from it: the experience profile

Profiles: duration profiles and the experience profile
Profiles: the duration profiles and the experience profile from 107 ratings.

What is not possible (yet)

TrailQ does not predict yet how much you will like walks you do not know. In a test on 347 own walks "similar to" did recognise the less good walks somewhat, but hardly your favourites. Whether a walk becomes a 9 or an 8 is in the experience: coast, ancient forest, narrow paths, villages. To recognise that in new walks, TrailQ first has to get to know the surroundings of a route, for example from OpenStreetMap. That is the next step.

The more you rate, the better the experience profile fits. Tapping two words shortly after a walk is enough.

10. Terms

TermExplanation
DatasetA collection of walks from one import, for example Dolomites.
WorkspaceYour working set: which datasets are loaded, the map view, filters, preferences and duration profile.
Score0–100 per walk: the rating, the geocaches along the route and how well distance, ascent and duration fit your preferences.
Duration profileYour pace per gradient, from your own recordings. It decides the estimated duration, the Replay and the schedule in Go. With Default (no profile chosen) own walks with times in the GPX show their real walking time; all other times are an estimate and have a ~. If you choose a profile, everything is estimated with that profile. After importing a dataset the real times are known.
LabelA free word with a walk or session, such as favourite or Tenerife 2027. For filtering.
EventA note of your own at a spot or piece of the route, such as beautiful view or muddy.
HolidayA plan per day in a workspace: places to stay, wishes, per day a walk with driving time and weather, and a report (use case 6).
StretchA piece of a walk, for example to walk on the cross trainer.
SessionOne time a walk or stretch done, with GPS or on the cross trainer. To look back on in Analyse.
Goal profileA goal to walk against, such as 5 % faster than your duration profile or 5 % faster than a session. A line in the schedule and an opponent in Go.
OpponentA virtual walker in Go: your goal, your duration profile, your best session or an earlier session. The result goes with the session.
CalibrationThe conversion of cross trainer speed into walking pace, per gradient (factor). Made in Analyse, used in Go.
ExperienceYour judgement of a walk: stars and words such as rust (quiet), uitzicht (view), asfalt (asphalt) or druk (busy). In Details under Rating, and after a recorded session with the question How was it?. Words from your note and from your events on the way are there as suggestions (dotted), and for own walks your Obsidian review as light stars (for example Obsidian: 9 → ★★★★★): tap them or choose Take the suggestions. Under Profiles → Experience profile you take over the reviews and words of all your own walks at once. On the way you can tap the same words at + event here.
Similar toIn Details under Overview: three own walks that most resemble this one (distance, ascent, difficulty, location), with their stars and review. A reminder, not a prediction: whether a walk becomes a 9 or an 8 is mainly in the experience, and TrailQ cannot measure that yet.
Experience profileUnder Profiles: what your ratings say, for example You value most: quiet, views. Bothers you: asphalt. Below it a provisional picture from your notes: which words go with a higher or lower review. That only counts once you rate walks.
Quality0–100 per walk: how usable the data are. Lower because of, for example, few points in the GPX, separate pieces, a car ride or lift, a gap in time, standing still at the start or end, missing elevation, a planned route or no photos. See Details and Data → Walk quality. Does not count in the score.
DifficultyThe coloured circle: blue easy, red medium, black hard. How steep the route is (the part steeper than 15 and 25 %) and, for own walks, how slow you were on steep pieces. Apart from the length: a long flat walk is easy.
kcalEstimated consumption. Needed for walking: your weight under ⚙.
LanguageDutch or English, chosen with NL / EN next to ?; kept in this browser. Your own texts (names, descriptions, notes) stay as they are. When a description is in another language than the app, 🌐 Translate to … is above it: Chrome (from version 138) translates it on your own computer, without an online service; Original shows the text again. The first time Chrome fetches the language model, which can take a while. With 🌐 Translate descriptions automatically under ⚙ it happens without the button, once Chrome has the language model.

11. When it does not work