January Updates: Post-Puffer analysis tools, 15-years of historic data, and a few more improvements...
A summary of some updates made to Pufferized in the last few weeks. Please do share any feedback or ideas!
By Angus

Some nice wee updates from the past few weeks, including the fact we now have this blog to share updates 🥳
1. 15 Years of Race Data
The coach now has access to every Strathpuffer result from 2009 to 2026, all neatly structured and processed (if anyone knows where I could find earlier results, then let me know!).
That's 3,931 race entries across 15 years. 64,719 laps. 808,988 km. 2,084 Everests of climbing. All on one 12.5km loop in a Scottish forest.
This means you can now ask the Coach about any rider, any team, any year. It'll pull up lap times, pacing patterns, or just some strange facts about how you fit into this all!

This is powerful because benchmarking is now grounded in reality. When the coach tells you 13 laps is a solid solo finish, that's not an opinion. It's the median for serious finishers across every year in the database. When it says thaw conditions cost 2-4 laps at elite level, that's backed by comparing 2024 (dry, 25-lap winner) against 2026 (slush, 21-lap winner).
Some of our favourite findings so far:
Only 2% of riders with 6+ laps achieve a negative split. 98% of the field slows down. The average rider’s second half is 47% slower than their first. Soloists almost never get faster (0.8%). The data is unambiguous on pacing strategy: start slow, because you will fade.
Jason Miles’ 31-lap singlespeed ride in 2014 is still the all-time solo record — geared or not. He beat every geared soloist that year, including Guy Martin. Nobody has matched it in 15 years. The singlespeed golden era (2009-2014) saw SS riders outperform geared soloists in three separate years. The movement nearly died by 2016, but there’s been a modest revival since 2024.
We’ll be sharing more curiosities in a dedicated article soon — the I-Cycles dynasty, Kerry Macphee and Kyle Beatie's potential rivals in 2027, and I'm sure plenty more novelty factoids.
2. The Coach Remembers
The coach now remembers your past conversations much more effectively. How it works: your last 10 messages are loaded into each conversation. When things get longer (20+ messages), older messages are automatically summarised, compressed and saved so the coach retains the important context without running out of room. You can also type /summarize to force a summary at any point, or clear the history entirely if you want a fresh start.
3. Race Analysis: Really understand your past Puffer performances

You can now upload your previous Strathpuffer FIT files (from the top-right drop-down: select "Past & Future") and get a dedicated lap-by-lap breakdown of your race.
Note: I am still working on making this a lot... better. Especially for how well it splits laps out when you don't use the lap feature on Wahoo / Garmin, and just to share more useful info in general - so bear with me, and let me know what you'd like to see. I personally found the overview of compounding breaks to be pretty immediately insightful!
At the moment the system categorises your stops into three types: pauses (90 seconds to 10 minutes), breaks (10-45 minutes), and rests (45+ minutes).
If you're running a power meter or HR strap, the analysis can go much deeper: power fade percentage, aerobic decoupling, HR drift, and whether you went out too hard early. Then when you upload multiple years, along with your own qualitative notes (also very important for AI context) and you can track your progression — lap times, night performance, fatigue management — all compared against the historical field.
4. Strava Now Works for Everyone (I think...)
Now that we are on the Strava Dev program we have squashed the remaining OAuth bugs that were preventing some users from connecting. If you've not done this yet, you can connect via your Settings page.
Linked activities now auto-fill your session metrics (distance, elevation, calories) and calculate your P-Laps — how many Strathpuffer lap equivalents your training ride was worth.
I think there is a lot more we can do with this integration, and it could do with quite a bit more testing to be honest!
Nice update: I just got confirmation that I have made it past the first step of Garmin Developer access, which could be really nice for more detailed Stress / Sleep / resting HR / general health data, too.
5. AI Training Plan Generation
You can now generate a full training plan from the /training page. A 12-step wizard collects your profile — race category, available hours, physiology, experience, equipment — and the AI builds a periodised block structure with sessions for every week.
The preferences view is worth exploring. Nine sliders let you tell the AI how much you want of each training modality: MTB, gravel, road, indoor, intervals, running, strength, swimming, yoga. The generated plan respects these preferences.
I think it could be a bit shorter for when you have already entered some of this data, and the default plan length (today to race day) can feel long if you're starting a year out. I was considering defaulting to 3-month plans instead. Would love to hear what feels right to you...?
6. Training Plan Archiving

You can now archive a training plan without losing it. Archived plans sit in the plan switcher dropdown and can be reactivated at any time. Keeps things tidy when you want to start fresh but don't want to forget all the work you have done!
7. The Coach Can Edit Your Plan
In case you missed it from last month: the AI coach can now directly modify your training plan during a conversation. It has 18 tools at its disposal:
Create, update, and delete sessions. Add and modify training blocks. Adjust weekly volume targets. Move sessions between weeks. Mark sessions complete or incomplete. Update your physiology data (FTP, weight, HR zones). Query your Strava activities and search 15 years of race results.
Tell it "add a threshold session on Wednesday" and it'll create one. Ask it to "swap my long ride to Sunday" and it'll move it. Every action shows up as a notification in the chat so you can see exactly what changed.
8. Activity Type and Training Focus Are Now Separate

Previously, sessions had a single "type" field trying to describe both what you're doing and why. To be honest this was just based on how I personally train.
It's now split into two fields, so should make more sense:
Activity Type is the modality — MTB, gravel, road, virtual ride, run, strength, swim, yoga. This maps directly to Strava's sport types, so when you link an activity, it matches up properly.
Training Focus is the physiological target (focussed largely one zones) — recovery, endurance, tempo, sweet spot, threshold, VO2max, anaerobic, strength, skills, or Puffer simulation. This is the energy system you're training.
What's Next
You tell me! I’m really interested in hearing any ideas people have for how to improve the app.
With quite a few people onboard now, it seems like we have the opportunity to create a pretty cool community-led tool to help people get ready to Puffer. So I’d love to hear any feedback, ideas, or especially any little bugs you find!
Cheers,
Angus