A sub-3:40 Frankfurt Marathon: how Tom plans his race week.
Updated · 12 min read
Tom is 39, lives in Kassel and runs his second marathon at the end of October: Frankfurt, flat, with the finish inside the Festhalle. In his first marathon he hit the wall at km 32, and the last ten kilometers were a struggle. This time he wants to stay under 3:40 and know in advance whether his energy will last to the finish.
So Tom did a lab test in the summer. This guide follows him from importing the results to the finish: pacing, fueling, carb loading, the night the clocks go back, and a crew that sees him in three places. Every number comes from Dolichos, and they scale to your body weight and goal time.

Tom's race week at a glance
- Goal time
- under 3:40, plan 3:38:00
- Planned average pace
- 5:10 min/km
- Carb loading, 2 days out
- 740–888 g carbs/day
- Race fueling
- 6 gels + 6 cups, 74 g carbs/h
- Night before
- clocks go back, 8 h sleep, alarm 07:00
- Crew
- Jana at two stops, Ben at the Alte Oper
Lab values instead of a rule of thumb
Tom sets up the race by pasting the link to the organizer's website into Dolichos. Name, date, location and distance come across, and the course is on the map: start at the Messe, through the city center past the Alte Oper, over the Alte Brücke into Sachsenhausen, through Niederrad and Schwanheim out to Höchst in the west, and back via Griesheim and the Gallus to the Festhalle. He adds his hotel by the Messe.
Then Tom uploads his lab report. Dolichos reads out the values: threshold pace 4:22 min/km, threshold heart rate 171 bpm, max heart rate 189, VO2max 56 ml/min/kg, FatMax at 132 bpm. On top come ten test stages, each with the measured carb and fat burn per hour. Tom checks the values and saves them to his profile.
The difference shows up everywhere later: zones, burn and the energy curve use Tom's own measurements instead of averages. For Lena in the Berlin guide, the forecast confidence is "Low". For Tom it's "High".
- Import a race from the organizer's link, including the GPX course
- Import a lab test as a PDF report or Cortex XML
- Thresholds, VO2max, FatMax and burn per test stage in your profile
- No lab? The "Find my threshold" field test assistant

The pace for a sub-3:40 marathon
A 3:39:59 needs an average of 5:12 min/km. Tom plans with 5:10, which leaves him almost two minutes in hand. The course helps: Frankfurt is flat, with barely 30 meters of climbing over 42.2 km, and late October is usually cool.
In the pace plan Tom sets all four race zones to 5:10 min/km, finish time 3:38:00. The zone table below uses his lab zones: all 3:38 hours fall in zone 3, at 154–161 bpm. His measured burn there is 124 g of carbs and 22 g of fat per hour, 485 g of carbs over the whole race. That is the number his fueling has to stand up to.
- Pace per section by drag & drop or in 1-second steps
- Finish time and average pace update live
- Zone table with heart rate, pace, time in zone and carbs/fat per hour
- With a lab test: burn from your own measurements

Enough carbs without overloading the stomach
Tom's first draft is generous: a 30 g gel every 5 km, with a 20 g cup of sports drink in between. That averages 96 g of carbs per hour. But the plan check also shows how much lands within any one hour: up to 130 g. With glucose and fructose, the gut takes up about 90 g per hour at most. Anything beyond that stays in the stomach, which is exactly how many runners end up with stomach trouble. The check turns red: "Up to 130 g carbs within an hour — more than the gut can take up; stomach trouble is likely."
Tom spreads it out: a 30 g gel every 6 km, from km 6 to km 36, with caffeine in the ones at km 24 and km 36. In between, at km 9, 15, 21, 27, 33 and 39, a cup of sports drink with about 15 g. That adds up to 270 g, 74 g per hour on average and never more than 90 g within an hour. The plan check goes green: average intake above the recommended 60 g/h, no stretch over 45 minutes without carbs, caffeine at 2 mg/kg, in the effective range.
The energy curve shows what that means for the legs. After carb loading he stores 592 g of glycogen, 8 g/kg, with 337 g usable by the legs. 47 g are left at the finish. The band around the curve is narrow for Tom because his burn is measured: at 10% more or less burn it's 5 to 88 g. One yellow note remains: "Store gets low from 39.1 km." Tom knows where it gets tight, and that he shouldn't speed up there. The forecast confidence is "High" because his lab values match the energy cost of running.
- Plan check: average carbs per hour and the most within any hour
- A warning when more arrives than the gut can take up
- Energy curve with an uncertainty band, much narrower with lab values
- Caffeine in mg per kg of body weight

The crew: Jana in two places, Ben before the finish
Jana, Tom's girlfriend, comes along to Frankfurt; Ben, his brother, lives in the city. Both join by link. Tom makes Jana a spotter and sets three stops on the course, with the expected arrival from the pace plan.
The Alte Brücke at km 13.5, 11:09 am: this is where the course crosses the Main into Sachsenhausen. Late October mornings are often cold, and by here Tom is warm, so Jana takes his arm warmers. Skyline Plaza at km 35.7, 1:04 pm: after Höchst and the Gallus the course comes back past the Messe, and Jana hands him the last gel. Between the two stops the crew plan reads "Jana then to Skyline Plaza · 84 min in between", plenty for the S-Bahn or U-Bahn across town. Ben stands at the Alte Oper at km 40.3, 1:28 pm, just before the run-in to the Festhalle.
At the top it says "3 of 3 stops staffed". Every task belongs to its stop, and only someone assigned there can take it on. Both have confirmed their stops.
- Join by code, link or QR code
- Crew plan as a timeline with the expected arrival at each stop
- Handoff between one person's two stops, with the time in between
- Tasks per stop, confirmed by the crew

Monday to Friday: taper, marathon mall, carb loading
The race week shows every day up to Sunday, with the marathon template already filled in: an easy 30 to 40 minute run on Monday, a rest day on Tuesday, a last sharp session of four to six one-minute efforts at race pace on Wednesday, and a shakeout on Saturday. "Your plan 9/9" at the top tells Tom nothing is missing.
Race bibs are handed out at the marathon mall on the Messe grounds. Tom adds it as a place and plans the pickup for Friday at 4 pm, right after he arrives. From his hotel by the Messe it's only a few minutes on foot.
Carb loading starts on Thursday. For Tom's 74 kg, Dolichos works out 444–592 g of carbs three days out (6–8 g/kg), 740–888 g on each of the two days before the race (10–12 g/kg), and 148–222 g on race morning. The day cards show each target on the right day.
- Countdown and day cards from Monday to race day
- Race week template for the distance, every item editable
- Bib pickup as an appointment with a place
- Carb loading target in grams per day, logged with a tap

The night the clocks go back
The Frankfurt Marathon is held on the last Sunday in October, and that's exactly the night daylight saving time ends in Germany: at 03:00 the clocks go back to 02:00. Forget it, and you get up an hour early or plan the evening wrong.
Dolichos flags it on the day-before screen: "Clocks change tonight: 03:00 becomes 02:00. Your sleep counts in real hours." Tom starts at 10:00, his breakfast needs three hours before the start, so the alarm goes off at 07:00. For eight hours of sleep Dolichos sets lights out to 00:00, because the night is an hour longer. The evening plan counts back from there: last big meal at 20:00, lay out kit and pin on the bib at 21:30, fill bottles and pack gels at 22:30, phone away at 23:30.
The day's carb loading target sits at the top again: 740–888 g. The packing list knows Tom's six gels from the fueling plan. For the cool start he adds arm warmers and an old shirt to drop in the start pen.
- Clock change notice, sleep counted in real hours
- Alarm and lights out from start time and sleep duration
- Timed evening plan, every step editable
- Packing list including the number of gels from the fueling plan

Race day: leave at 8:44, start at 10:00 at the Messe
In the morning everything is on one screen: leave the hotel at 8:44, arrive at the start area at 9:00, an hour before the start. From the hotel by the Messe it's a quarter of an hour on foot. All times are in the race's time zone and after the clock change, and "Route to start" opens navigation. Race day is stored on the phone and opens even when the mobile network around the start is overloaded.
Tom runs without a phone, and Dolichos doesn't need one for live tracking. From the gun, the app works out his position from the pace plan. At the Alte Brücke Jana sees him at 11:09 and taps "Tom just passed". The sighting corrects the forecast for every stop after it.
- Departure, arrival and start time in the race's time zone
- Race day available offline
- Live position without a GPS tracker, corrected by every sighting
- Optional GPS from the athlete's phone

Live: Tom is coming up to Skyline Plaza
At 12:55 Jana is at Skyline Plaza. Her live panel shows Tom at km 33.9, pace 5:10, 43 minutes to go, expected finish at 13:38. Below are her stops: at the Alte Brücke "You reported that Tom passed", at Skyline Plaza her window from 12:49 to 13:19. Dolichos says "Athlete approaching", and Jana gets the gel ready.
Ben follows on his phone when Tom will reach the Alte Oper. Twenty minutes later Tom runs down the carpet into the Festhalle, and everyone gets the "Finished" message.
- Live panel with distance, pace, time to go and finish ETA
- Your own stops with their time window and one-tap reporting
- Notifications: start, athlete approaching, window missed, finish

Recap: no wall this time
In the evening Tom opens the recap: finish time, planned and actual arrival at every stop, and who saw him where. Next to his first marathon it shows what the plan did. The fueling went down well, and the tight stretch after km 39 was as tight as forecast.
By the way, Dolichos works the same way for 10K, half marathon and ultra, and for triathlon from sprint to full distance.
More on Crew & live trackingFrankfurt Marathon race week checklist
Tom's plan to take with you. The timing works for any autumn marathon; scale the grams to your body weight.
| When | What | In Dolichos |
|---|---|---|
| 12 weeks out | Add the race by link, add the hotel, import your lab test | Fueling plan |
| 8 weeks out | Pace plan with race zones, check time in zone and burn | Pacing plan |
| 6 weeks out | Fueling plan: at most 90 g carbs per hour, test it in training | Fueling plan |
| 3 weeks out | Invite your crew, staff the stops, assign tasks | Crew & live tracking |
| Monday | Apply the race week template, easy run | Race week planner |
| Thursday | Carb loading starts: 6–8 g/kg | Carb loading calculator |
| Friday | Pick up your bib at the marathon mall, 10–12 g/kg carbs | Carb loading calculator |
| Saturday | Mind the clock change, packing list, lights out on plan | Race week planner |
| Sunday | Breakfast 2–3 g/kg, leave on plan, crew reports sightings | Crew & live tracking |