Eduardo Diaz Sancha

Hi! I’m a Director of Engineering from the Canary Islands, living in Atlanta since 2022 after stints in Spain, France, Cambodia, Silicon Valley and New York. I’ve been building software since 2005 and leading consumer product and platform organizations since 2017, most recently the Post Purchase, Care and Internal Tools teams at Grubhub. Before management I shipped iOS apps for a decade and worked on Scala and Ruby on Rails backends.

I’m interested in technology, leadership, fitness and endurance training, parenting, traveling, electronic music, and many other things. Some of that ends up in my writing.

Now

Full history · Resume (PDF) · LinkedIn · Email me

Fitness

My last year of training from Garmin, refreshed every day: how long I train across every sport, how much of it is hard (minutes in heart-rate zones 4 and 5), and how far I run. I care much more about the first two than about distance, and most of that time should be easy.

Training time, Oct 25, 2025 – Oct 23, 2026: 10h 45m training per week10h 45mtraining per week(624 activities)NovDecJanFebMarAprMayJunJulAugSepOctMonWedFriOct 25, 2025 · 1h 2mOct 26, 2025 · RestOct 27, 2025 · 1h 3mOct 28, 2025 · 2h 15mOct 29, 2025 · 41mOct 30, 2025 · 52mOct 31, 2025 · 1h 15mNov 1, 2025 · 1h 3mNov 2, 2025 · 46mNov 3, 2025 · 1h 55mNov 4, 2025 · 2h 37mNov 5, 2025 · 47mNov 6, 2025 · 2h 26mNov 7, 2025 · 1h 32mNov 8, 2025 · 2h 52mNov 9, 2025 · 2h 13mNov 10, 2025 · 1h 16mNov 11, 2025 · 3h 10mNov 12, 2025 · 52mNov 13, 2025 · 48mNov 14, 2025 · 2h 31mNov 15, 2025 · 2h 30mNov 16, 2025 · 2h 11mNov 17, 2025 · 3h 53mNov 18, 2025 · 2h 28mNov 19, 2025 · 52mNov 20, 2025 · 54mNov 21, 2025 · 2h 17mNov 22, 2025 · 1h 8mNov 23, 2025 · RestNov 24, 2025 · 3h 51mNov 25, 2025 · 55mNov 26, 2025 · 1h 4mNov 27, 2025 · 2h 20mNov 28, 2025 · RestNov 29, 2025 · 46mNov 30, 2025 · 2h 9mDec 1, 2025 · 48mDec 2, 2025 · 3h 2mDec 3, 2025 · 46mDec 4, 2025 · 51mDec 5, 2025 · RestDec 6, 2025 · 1h 17mDec 7, 2025 · 4h 13mDec 8, 2025 · 58mDec 9, 2025 · 3h 10mDec 10, 2025 · 1h 21mDec 11, 2025 · 1h 5mDec 12, 2025 · 43mDec 13, 2025 · 48mDec 14, 2025 · 1hDec 15, 2025 · 50mDec 16, 2025 · 2h 20mDec 17, 2025 · 1h 37mDec 18, 2025 · 57mDec 19, 2025 · 1h 28mDec 20, 2025 · 3h 23mDec 21, 2025 · 4h 19mDec 22, 2025 · 2h 33mDec 23, 2025 · 1h 17mDec 24, 2025 · 2h 27mDec 25, 2025 · 1h 50mDec 26, 2025 · 57mDec 27, 2025 · 2h 13mDec 28, 2025 · 2h 45mDec 29, 2025 · 2h 47mDec 30, 2025 · 1h 21mDec 31, 2025 · 1h 1mJan 1, 2026 · 48mJan 2, 2026 · 1h 45mJan 3, 2026 · 2h 11mJan 4, 2026 · 2h 14mJan 5, 2026 · 3h 26mJan 6, 2026 · 2h 3mJan 7, 2026 · 48mJan 8, 2026 · 47mJan 9, 2026 · 49mJan 10, 2026 · 30mJan 11, 2026 · 1h 55mJan 12, 2026 · 3h 3mJan 13, 2026 · 3hJan 14, 2026 · RestJan 15, 2026 · 51mJan 16, 2026 · 52mJan 17, 2026 · 2h 35mJan 18, 2026 · 1h 36mJan 19, 2026 · 3h 2mJan 20, 2026 · 1h 43mJan 21, 2026 · 47mJan 22, 2026 · RestJan 23, 2026 · 1hJan 24, 2026 · 3h 19mJan 25, 2026 · 1h 37mJan 26, 2026 · 5h 48mJan 27, 2026 · 5h 27mJan 28, 2026 · 1h 38mJan 29, 2026 · 7h 41mJan 30, 2026 · 6h 53mJan 31, 2026 · 3h 49mFeb 1, 2026 · RestFeb 2, 2026 · 2hFeb 3, 2026 · 2h 15mFeb 4, 2026 · 47mFeb 5, 2026 · 47mFeb 6, 2026 · 48mFeb 7, 2026 · RestFeb 8, 2026 · RestFeb 9, 2026 · 1h 40mFeb 10, 2026 · 1h 20mFeb 11, 2026 · RestFeb 12, 2026 · 58mFeb 13, 2026 · 1h 20mFeb 14, 2026 · RestFeb 15, 2026 · 1h 37mFeb 16, 2026 · RestFeb 17, 2026 · 48mFeb 18, 2026 · 47mFeb 19, 2026 · 1h 11mFeb 20, 2026 · 58mFeb 21, 2026 · 1h 21mFeb 22, 2026 · RestFeb 23, 2026 · RestFeb 24, 2026 · RestFeb 25, 2026 · RestFeb 26, 2026 · 57mFeb 27, 2026 · 1hFeb 28, 2026 · 49mMar 1, 2026 · 2hMar 2, 2026 · 2h 58mMar 3, 2026 · RestMar 4, 2026 · 57mMar 5, 2026 · 28mMar 6, 2026 · 1h 32mMar 7, 2026 · RestMar 8, 2026 · RestMar 9, 2026 · 50mMar 10, 2026 · 1h 6mMar 11, 2026 · 48mMar 12, 2026 · 1h 32mMar 13, 2026 · 47mMar 14, 2026 · 1h 39mMar 15, 2026 · 1h 57mMar 16, 2026 · RestMar 17, 2026 · 42mMar 18, 2026 · 46mMar 19, 2026 · 1h 3mMar 20, 2026 · 1h 7mMar 21, 2026 · 1h 2mMar 22, 2026 · 1h 20mMar 23, 2026 · 1h 23mMar 24, 2026 · 2h 4mMar 25, 2026 · 1h 5mMar 26, 2026 · 1h 44mMar 27, 2026 · 50mMar 28, 2026 · 52mMar 29, 2026 · 3h 3mMar 30, 2026 · 2h 39mMar 31, 2026 · 1h 37mApr 1, 2026 · 57mApr 2, 2026 · RestApr 3, 2026 · 1h 37mApr 4, 2026 · 3h 3mApr 5, 2026 · 1h 12mApr 6, 2026 · 46mApr 7, 2026 · 1h 1mApr 8, 2026 · 47mApr 9, 2026 · 51mApr 10, 2026 · 1h 4mApr 11, 2026 · 3h 45mApr 12, 2026 · 2h 21mApr 13, 2026 · 47mApr 14, 2026 · 1h 47mApr 15, 2026 · 1h 28mApr 16, 2026 · 1h 19mApr 17, 2026 · RestApr 18, 2026 · 45mApr 19, 2026 · 40mApr 20, 2026 · 3h 4mApr 21, 2026 · RestApr 22, 2026 · 48mApr 23, 2026 · 51mApr 24, 2026 · 1h 8mApr 25, 2026 · 1h 35mApr 26, 2026 · 1h 46mApr 27, 2026 · 50mApr 28, 2026 · 55mApr 29, 2026 · 49mApr 30, 2026 · 1h 6mMay 1, 2026 · RestMay 2, 2026 · 1h 26mMay 3, 2026 · RestMay 4, 2026 · 3h 5mMay 5, 2026 · 47mMay 6, 2026 · 1hMay 7, 2026 · 1h 26mMay 8, 2026 · 3h 11mMay 9, 2026 · RestMay 10, 2026 · RestMay 11, 2026 · 2h 40mMay 12, 2026 · 1h 46mMay 13, 2026 · 47mMay 14, 2026 · 1h 36mMay 15, 2026 · RestMay 16, 2026 · RestMay 17, 2026 · RestMay 18, 2026 · 24mMay 19, 2026 · 2hMay 20, 2026 · RestMay 21, 2026 · 1h 16mMay 22, 2026 · 1h 4mMay 23, 2026 · 1h 35mMay 24, 2026 · 2h 2mMay 25, 2026 · RestMay 26, 2026 · 46mMay 27, 2026 · 56mMay 28, 2026 · 1h 50mMay 29, 2026 · 1h 8mMay 30, 2026 · 3h 51mMay 31, 2026 · 2h 7mJun 1, 2026 · 3h 55mJun 2, 2026 · 1h 56mJun 3, 2026 · 1h 37mJun 4, 2026 · 2h 20mJun 5, 2026 · 1h 31mJun 6, 2026 · 3h 9mJun 7, 2026 · 1h 34mJun 8, 2026 · 2h 54mJun 9, 2026 · 40mJun 10, 2026 · 1h 31mJun 11, 2026 · 3h 32mJun 12, 2026 · 44mJun 13, 2026 · 1h 20mJun 14, 2026 · 2h 42mJun 15, 2026 · 1h 47mJun 16, 2026 · 48mJun 17, 2026 · 1h 6mJun 18, 2026 · 46mJun 19, 2026 · 55mJun 20, 2026 · 1h 5mJun 21, 2026 · 3h 44mJun 22, 2026 · 2h 45mJun 23, 2026 · 53mJun 24, 2026 · 1h 29mJun 25, 2026 · 1h 13mJun 26, 2026 · 1hJun 27, 2026 · 1h 27mJun 28, 2026 · 1h 29mJun 29, 2026 · 3h 3mJun 30, 2026 · 57mJul 1, 2026 · 1h 19mJul 2, 2026 · RestJul 3, 2026 · RestJul 4, 2026 · RestJul 5, 2026 · RestJul 6, 2026 · 1h 12mJul 7, 2026 · RestJul 8, 2026 · 1h 14mJul 9, 2026 · RestJul 10, 2026 · 55mJul 11, 2026 · 1h 6mJul 12, 2026 · RestJul 13, 2026 · 55mJul 14, 2026 · 2h 58mJul 15, 2026 · 53mJul 16, 2026 · RestJul 17, 2026 · 55mJul 18, 2026 · RestJul 19, 2026 · 51mJul 20, 2026 · RestJul 21, 2026 · 1h 10mJul 22, 2026 · 55mJul 23, 2026 · RestJul 24, 2026 · 44mJul 25, 2026 · 1h 55mJul 26, 2026 · 20mJul 27, 2026 · 1hJul 28, 2026 · 43mJul 29, 2026 · 2h 1mJul 30, 2026 · 1hJul 31, 2026 · 2h 28mAug 1, 2026 · 1h 30mAug 2, 2026 · 3h 56mAug 3, 2026 · 2h 43mAug 4, 2026 · 1h 32mAug 5, 2026 · 1hAug 6, 2026 · 47mAug 7, 2026 · 53mAug 8, 2026 · 1h 27mAug 9, 2026 · 1h 55mAug 10, 2026 · 42mAug 11, 2026 · RestAug 12, 2026 · 21mAug 13, 2026 · 25mAug 14, 2026 · 47mAug 15, 2026 · 2h 8mAug 16, 2026 · 46mAug 17, 2026 · 3h 20mAug 18, 2026 · 55mAug 19, 2026 · 2h 6mAug 20, 2026 · 2h 4mAug 21, 2026 · 2h 18mAug 22, 2026 · 1h 30mAug 23, 2026 · 3h 40mAug 24, 2026 · 3h 43mAug 25, 2026 · 1h 18mAug 26, 2026 · 1h 7mAug 27, 2026 · 1h 15mAug 28, 2026 · 55mAug 29, 2026 · 1h 56mAug 30, 2026 · 1h 35mAug 31, 2026 · 4h 43mSep 1, 2026 · 56mSep 2, 2026 · 2h 35mSep 3, 2026 · 1h 33mSep 4, 2026 · 39mSep 5, 2026 · 1h 37mSep 6, 2026 · 1hSep 7, 2026 · 50mSep 8, 2026 · 26mSep 9, 2026 · 2h 13mSep 10, 2026 · 1h 5mSep 11, 2026 · 1h 35mSep 12, 2026 · 1h 19mSep 13, 2026 · 3h 30mSep 14, 2026 · 4hSep 15, 2026 · 1h 32mSep 16, 2026 · 1h 5mSep 17, 2026 · 3h 40mSep 18, 2026 · 2h 7mSep 19, 2026 · 1h 57mSep 20, 2026 · 9h 45mSep 21, 2026 · RestSep 22, 2026 · 1h 43mSep 23, 2026 · 2h 3mSep 24, 2026 · 2h 49mSep 25, 2026 · 1h 43mSep 26, 2026 · 1h 32mSep 27, 2026 · RestSep 28, 2026 · 3h 33mSep 29, 2026 · 2h 37mSep 30, 2026 · 1h 19mOct 1, 2026 · 4h 1mOct 2, 2026 · 2h 34mOct 3, 2026 · 1h 2mOct 4, 2026 · 3h 31mOct 5, 2026 · 4h 59mOct 6, 2026 · 2h 8mOct 7, 2026 · 1h 38mOct 8, 2026 · 2h 29mOct 9, 2026 · 1h 24mOct 10, 2026 · 2h 36mOct 11, 2026 · 1h 50mOct 12, 2026 · 44mOct 13, 2026 · 55mOct 14, 2026 · 1h 1mOct 15, 2026 · 1h 41mOct 16, 2026 · 1h 57mOct 17, 2026 · 6h 33mOct 18, 2026 · RestOct 19, 2026 · 3h 53mOct 20, 2026 · 1h 31mOct 21, 2026 · 38mOct 22, 2026 · 1h 1mOct 23, 2026 · RestRest<30m2h+
Hard minutes, Oct 25, 2025 – Oct 23, 2026: 49 min in zones 4–5 per week49 minin zones 4–5 per weekNovDecJanFebMarAprMayJunJulAugSepOctMonWedFriOct 25, 2025 · 14 minOct 26, 2025 · RestOct 27, 2025 · RestOct 28, 2025 · 0 minOct 29, 2025 · 7 minOct 30, 2025 · RestOct 31, 2025 · RestNov 1, 2025 · RestNov 2, 2025 · RestNov 3, 2025 · 4 minNov 4, 2025 · 9 minNov 5, 2025 · RestNov 6, 2025 · 7 minNov 7, 2025 · 3 minNov 8, 2025 · 2 minNov 9, 2025 · 73 minNov 10, 2025 · RestNov 11, 2025 · 3 minNov 12, 2025 · 9 minNov 13, 2025 · RestNov 14, 2025 · 0 minNov 15, 2025 · 13 minNov 16, 2025 · RestNov 17, 2025 · 5 minNov 18, 2025 · 0 minNov 19, 2025 · 2 minNov 20, 2025 · 3 minNov 21, 2025 · RestNov 22, 2025 · RestNov 23, 2025 · RestNov 24, 2025 · 0 minNov 25, 2025 · RestNov 26, 2025 · RestNov 27, 2025 · 81 minNov 28, 2025 · RestNov 29, 2025 · RestNov 30, 2025 · RestDec 1, 2025 · RestDec 2, 2025 · RestDec 3, 2025 · RestDec 4, 2025 · 16 minDec 5, 2025 · RestDec 6, 2025 · RestDec 7, 2025 · 171 minDec 8, 2025 · RestDec 9, 2025 · RestDec 10, 2025 · RestDec 11, 2025 · RestDec 12, 2025 · 19 minDec 13, 2025 · RestDec 14, 2025 · 24 minDec 15, 2025 · RestDec 16, 2025 · RestDec 17, 2025 · RestDec 18, 2025 · 2 minDec 19, 2025 · 3 minDec 20, 2025 · RestDec 21, 2025 · RestDec 22, 2025 · RestDec 23, 2025 · RestDec 24, 2025 · 27 minDec 25, 2025 · RestDec 26, 2025 · RestDec 27, 2025 · 11 minDec 28, 2025 · RestDec 29, 2025 · RestDec 30, 2025 · 3 minDec 31, 2025 · RestJan 1, 2026 · RestJan 2, 2026 · RestJan 3, 2026 · RestJan 4, 2026 · RestJan 5, 2026 · 0 minJan 6, 2026 · 1 minJan 7, 2026 · RestJan 8, 2026 · RestJan 9, 2026 · 19 minJan 10, 2026 · RestJan 11, 2026 · 9 minJan 12, 2026 · RestJan 13, 2026 · 0 minJan 14, 2026 · RestJan 15, 2026 · 10 minJan 16, 2026 · 8 minJan 17, 2026 · RestJan 18, 2026 · 0 minJan 19, 2026 · 0 minJan 20, 2026 · 4 minJan 21, 2026 · RestJan 22, 2026 · RestJan 23, 2026 · 9 minJan 24, 2026 · RestJan 25, 2026 · 3 minJan 26, 2026 · 1 minJan 27, 2026 · RestJan 28, 2026 · RestJan 29, 2026 · 0 minJan 30, 2026 · 0 minJan 31, 2026 · RestFeb 1, 2026 · RestFeb 2, 2026 · 0 minFeb 3, 2026 · 2 minFeb 4, 2026 · RestFeb 5, 2026 · RestFeb 6, 2026 · 18 minFeb 7, 2026 · RestFeb 8, 2026 · RestFeb 9, 2026 · RestFeb 10, 2026 · RestFeb 11, 2026 · RestFeb 12, 2026 · 1 minFeb 13, 2026 · 0 minFeb 14, 2026 · RestFeb 15, 2026 · RestFeb 16, 2026 · RestFeb 17, 2026 · RestFeb 18, 2026 · 3 minFeb 19, 2026 · RestFeb 20, 2026 · 27 minFeb 21, 2026 · 35 minFeb 22, 2026 · RestFeb 23, 2026 · RestFeb 24, 2026 · RestFeb 25, 2026 · RestFeb 26, 2026 · 36 minFeb 27, 2026 · 21 minFeb 28, 2026 · RestMar 1, 2026 · 14 minMar 2, 2026 · 19 minMar 3, 2026 · RestMar 4, 2026 · RestMar 5, 2026 · RestMar 6, 2026 · RestMar 7, 2026 · RestMar 8, 2026 · RestMar 9, 2026 · RestMar 10, 2026 · 19 minMar 11, 2026 · RestMar 12, 2026 · RestMar 13, 2026 · 5 minMar 14, 2026 · 57 minMar 15, 2026 · RestMar 16, 2026 · RestMar 17, 2026 · RestMar 18, 2026 · RestMar 19, 2026 · 5 minMar 20, 2026 · 10 minMar 21, 2026 · RestMar 22, 2026 · 19 minMar 23, 2026 · RestMar 24, 2026 · 23 minMar 25, 2026 · RestMar 26, 2026 · 24 minMar 27, 2026 · 4 minMar 28, 2026 · RestMar 29, 2026 · 20 minMar 30, 2026 · RestMar 31, 2026 · RestApr 1, 2026 · 0 minApr 2, 2026 · RestApr 3, 2026 · 44 minApr 4, 2026 · RestApr 5, 2026 · RestApr 6, 2026 · RestApr 7, 2026 · 15 minApr 8, 2026 · RestApr 9, 2026 · RestApr 10, 2026 · 43 minApr 11, 2026 · 11 minApr 12, 2026 · 25 minApr 13, 2026 · RestApr 14, 2026 · 0 minApr 15, 2026 · 4 minApr 16, 2026 · 26 minApr 17, 2026 · RestApr 18, 2026 · 12 minApr 19, 2026 · RestApr 20, 2026 · 184 minApr 21, 2026 · RestApr 22, 2026 · RestApr 23, 2026 · RestApr 24, 2026 · RestApr 25, 2026 · 26 minApr 26, 2026 · RestApr 27, 2026 · 4 minApr 28, 2026 · 16 minApr 29, 2026 · RestApr 30, 2026 · RestMay 1, 2026 · RestMay 2, 2026 · 14 minMay 3, 2026 · RestMay 4, 2026 · 2 minMay 5, 2026 · RestMay 6, 2026 · 7 minMay 7, 2026 · RestMay 8, 2026 · RestMay 9, 2026 · RestMay 10, 2026 · RestMay 11, 2026 · RestMay 12, 2026 · RestMay 13, 2026 · RestMay 14, 2026 · 1 minMay 15, 2026 · RestMay 16, 2026 · RestMay 17, 2026 · RestMay 18, 2026 · RestMay 19, 2026 · RestMay 20, 2026 · RestMay 21, 2026 · 15 minMay 22, 2026 · RestMay 23, 2026 · 17 minMay 24, 2026 · RestMay 25, 2026 · RestMay 26, 2026 · RestMay 27, 2026 · RestMay 28, 2026 · RestMay 29, 2026 · RestMay 30, 2026 · 33 minMay 31, 2026 · 2 minJun 1, 2026 · RestJun 2, 2026 · 2 minJun 3, 2026 · RestJun 4, 2026 · 3 minJun 5, 2026 · RestJun 6, 2026 · 16 minJun 7, 2026 · RestJun 8, 2026 · RestJun 9, 2026 · RestJun 10, 2026 · 5 minJun 11, 2026 · 3 minJun 12, 2026 · RestJun 13, 2026 · 2 minJun 14, 2026 · 7 minJun 15, 2026 · 1 minJun 16, 2026 · RestJun 17, 2026 · RestJun 18, 2026 · RestJun 19, 2026 · 0 minJun 20, 2026 · RestJun 21, 2026 · 0 minJun 22, 2026 · RestJun 23, 2026 · RestJun 24, 2026 · 2 minJun 25, 2026 · RestJun 26, 2026 · RestJun 27, 2026 · 17 minJun 28, 2026 · RestJun 29, 2026 · 0 minJun 30, 2026 · 4 minJul 1, 2026 · RestJul 2, 2026 · RestJul 3, 2026 · RestJul 4, 2026 · RestJul 5, 2026 · RestJul 6, 2026 · 2 minJul 7, 2026 · RestJul 8, 2026 · RestJul 9, 2026 · RestJul 10, 2026 · 6 minJul 11, 2026 · RestJul 12, 2026 · RestJul 13, 2026 · RestJul 14, 2026 · RestJul 15, 2026 · 12 minJul 16, 2026 · RestJul 17, 2026 · RestJul 18, 2026 · RestJul 19, 2026 · RestJul 20, 2026 · RestJul 21, 2026 · 20 minJul 22, 2026 · RestJul 23, 2026 · RestJul 24, 2026 · 22 minJul 25, 2026 · RestJul 26, 2026 · 19 minJul 27, 2026 · RestJul 28, 2026 · 3 minJul 29, 2026 · RestJul 30, 2026 · RestJul 31, 2026 · RestAug 1, 2026 · RestAug 2, 2026 · 0 minAug 3, 2026 · RestAug 4, 2026 · 3 minAug 5, 2026 · RestAug 6, 2026 · RestAug 7, 2026 · 6 minAug 8, 2026 · 1 minAug 9, 2026 · RestAug 10, 2026 · RestAug 11, 2026 · RestAug 12, 2026 · 1 minAug 13, 2026 · RestAug 14, 2026 · 9 minAug 15, 2026 · 102 minAug 16, 2026 · 0 minAug 17, 2026 · RestAug 18, 2026 · 2 minAug 19, 2026 · 20 minAug 20, 2026 · 4 minAug 21, 2026 · RestAug 22, 2026 · 7 minAug 23, 2026 · 126 minAug 24, 2026 · 0 minAug 25, 2026 · 37 minAug 26, 2026 · RestAug 27, 2026 · 24 minAug 28, 2026 · 15 minAug 29, 2026 · 53 minAug 30, 2026 · RestAug 31, 2026 · 36 minSep 1, 2026 · RestSep 2, 2026 · RestSep 3, 2026 · 51 minSep 4, 2026 · RestSep 5, 2026 · 9 minSep 6, 2026 · RestSep 7, 2026 · RestSep 8, 2026 · RestSep 9, 2026 · 1 minSep 10, 2026 · 0 minSep 11, 2026 · RestSep 12, 2026 · RestSep 13, 2026 · 1 minSep 14, 2026 · RestSep 15, 2026 · RestSep 16, 2026 · 7 minSep 17, 2026 · 17 minSep 18, 2026 · 23 minSep 19, 2026 · 24 minSep 20, 2026 · 19 minSep 21, 2026 · RestSep 22, 2026 · RestSep 23, 2026 · RestSep 24, 2026 · 0 minSep 25, 2026 · RestSep 26, 2026 · RestSep 27, 2026 · RestSep 28, 2026 · 5 minSep 29, 2026 · 2 minSep 30, 2026 · RestOct 1, 2026 · 8 minOct 2, 2026 · 1 minOct 3, 2026 · 29 minOct 4, 2026 · 9 minOct 5, 2026 · 1 minOct 6, 2026 · 0 minOct 7, 2026 · 6 minOct 8, 2026 · 41 minOct 9, 2026 · 1 minOct 10, 2026 · 36 minOct 11, 2026 · RestOct 12, 2026 · 16 minOct 13, 2026 · 29 minOct 14, 2026 · 2 minOct 15, 2026 · 1 minOct 16, 2026 · 1 minOct 17, 2026 · 183 minOct 18, 2026 · RestOct 19, 2026 · RestOct 20, 2026 · RestOct 21, 2026 · 1 minOct 22, 2026 · 3 minOct 23, 2026 · RestRest<545+ min
Distance, Oct 25, 2025 – Oct 23, 2026: 44.8 km per week44.8 kmper week(220 runs)NovDecJanFebMarAprMayJunJulAugSepOctMonWedFriOct 25, 2025 · RestOct 26, 2025 · RestOct 27, 2025 · RestOct 28, 2025 · 7.4 kmOct 29, 2025 · RestOct 30, 2025 · 8.4 kmOct 31, 2025 · 10 kmNov 1, 2025 · 11.3 kmNov 2, 2025 · RestNov 3, 2025 · 21.3 kmNov 4, 2025 · 8.1 kmNov 5, 2025 · 8.4 kmNov 6, 2025 · 10.1 kmNov 7, 2025 · RestNov 8, 2025 · 16.1 kmNov 9, 2025 · 26.3 kmNov 10, 2025 · RestNov 11, 2025 · 7.1 kmNov 12, 2025 · 10 kmNov 13, 2025 · 8.4 kmNov 14, 2025 · 10.1 kmNov 15, 2025 · 18.9 kmNov 16, 2025 · RestNov 17, 2025 · RestNov 18, 2025 · 7 kmNov 19, 2025 · RestNov 20, 2025 · RestNov 21, 2025 · 8 kmNov 22, 2025 · 8.4 kmNov 23, 2025 · RestNov 24, 2025 · 10 kmNov 25, 2025 · 8.4 kmNov 26, 2025 · 11.3 kmNov 27, 2025 · 29 kmNov 28, 2025 · RestNov 29, 2025 · 8.1 kmNov 30, 2025 · RestDec 1, 2025 · 8.4 kmDec 2, 2025 · RestDec 3, 2025 · 8.3 kmDec 4, 2025 · 9.7 kmDec 5, 2025 · RestDec 6, 2025 · 6.8 kmDec 7, 2025 · 42.4 kmDec 8, 2025 · RestDec 9, 2025 · RestDec 10, 2025 · RestDec 11, 2025 · RestDec 12, 2025 · RestDec 13, 2025 · 8.4 kmDec 14, 2025 · RestDec 15, 2025 · RestDec 16, 2025 · RestDec 17, 2025 · RestDec 18, 2025 · 9.8 kmDec 19, 2025 · 10.3 kmDec 20, 2025 · 12.8 kmDec 21, 2025 · 13.7 kmDec 22, 2025 · 8.4 kmDec 23, 2025 · 6.5 kmDec 24, 2025 · 7.3 kmDec 25, 2025 · 8.4 kmDec 26, 2025 · 10 kmDec 27, 2025 · 10 kmDec 28, 2025 · 12.8 kmDec 29, 2025 · 8.4 kmDec 30, 2025 · RestDec 31, 2025 · RestJan 1, 2026 · 8 kmJan 2, 2026 · RestJan 3, 2026 · RestJan 4, 2026 · 11.3 kmJan 5, 2026 · 8.4 kmJan 6, 2026 · 8.6 kmJan 7, 2026 · 8.4 kmJan 8, 2026 · 8.4 kmJan 9, 2026 · 9.9 kmJan 10, 2026 · 5.1 kmJan 11, 2026 · 10.3 kmJan 12, 2026 · RestJan 13, 2026 · RestJan 14, 2026 · RestJan 15, 2026 · RestJan 16, 2026 · 10.1 kmJan 17, 2026 · 8 kmJan 18, 2026 · RestJan 19, 2026 · RestJan 20, 2026 · 15.4 kmJan 21, 2026 · 8.4 kmJan 22, 2026 · RestJan 23, 2026 · 11.2 kmJan 24, 2026 · 8.4 kmJan 25, 2026 · 14.4 kmJan 26, 2026 · RestJan 27, 2026 · RestJan 28, 2026 · 13.3 kmJan 29, 2026 · RestJan 30, 2026 · RestJan 31, 2026 · RestFeb 1, 2026 · RestFeb 2, 2026 · RestFeb 3, 2026 · 12.8 kmFeb 4, 2026 · 8.4 kmFeb 5, 2026 · 8.4 kmFeb 6, 2026 · 9.4 kmFeb 7, 2026 · RestFeb 8, 2026 · RestFeb 9, 2026 · RestFeb 10, 2026 · RestFeb 11, 2026 · RestFeb 12, 2026 · 7.2 kmFeb 13, 2026 · RestFeb 14, 2026 · RestFeb 15, 2026 · RestFeb 16, 2026 · RestFeb 17, 2026 · 8.4 kmFeb 18, 2026 · 8.4 kmFeb 19, 2026 · 8.4 kmFeb 20, 2026 · 11.4 kmFeb 21, 2026 · RestFeb 22, 2026 · RestFeb 23, 2026 · RestFeb 24, 2026 · RestFeb 25, 2026 · RestFeb 26, 2026 · RestFeb 27, 2026 · 11.3 kmFeb 28, 2026 · 8.4 kmMar 1, 2026 · 21.5 kmMar 2, 2026 · RestMar 3, 2026 · RestMar 4, 2026 · 8.4 kmMar 5, 2026 · RestMar 6, 2026 · RestMar 7, 2026 · RestMar 8, 2026 · RestMar 9, 2026 · 8.4 kmMar 10, 2026 · 12.8 kmMar 11, 2026 · 8.4 kmMar 12, 2026 · RestMar 13, 2026 · 8.4 kmMar 14, 2026 · 19.2 kmMar 15, 2026 · 12.6 kmMar 16, 2026 · RestMar 17, 2026 · RestMar 18, 2026 · RestMar 19, 2026 · 11.2 kmMar 20, 2026 · 11.8 kmMar 21, 2026 · 10.3 kmMar 22, 2026 · 14.4 kmMar 23, 2026 · 8.4 kmMar 24, 2026 · 17.2 kmMar 25, 2026 · 11.2 kmMar 26, 2026 · 14.7 kmMar 27, 2026 · 8.4 kmMar 28, 2026 · RestMar 29, 2026 · 29.8 kmMar 30, 2026 · 8.4 kmMar 31, 2026 · 17.1 kmApr 1, 2026 · 10 kmApr 2, 2026 · RestApr 3, 2026 · 11.5 kmApr 4, 2026 · 15 kmApr 5, 2026 · 12.8 kmApr 6, 2026 · 8.4 kmApr 7, 2026 · 11 kmApr 8, 2026 · 8.4 kmApr 9, 2026 · 8.4 kmApr 10, 2026 · 12.8 kmApr 11, 2026 · 8.4 kmApr 12, 2026 · 24.1 kmApr 13, 2026 · 8.4 kmApr 14, 2026 · 9.7 kmApr 15, 2026 · 10.5 kmApr 16, 2026 · 10.2 kmApr 17, 2026 · RestApr 18, 2026 · 8.5 kmApr 19, 2026 · 7.1 kmApr 20, 2026 · 42.5 kmApr 21, 2026 · RestApr 22, 2026 · RestApr 23, 2026 · 6.5 kmApr 24, 2026 · 8 kmApr 25, 2026 · RestApr 26, 2026 · 8.5 kmApr 27, 2026 · RestApr 28, 2026 · 11.1 kmApr 29, 2026 · RestApr 30, 2026 · 8 kmMay 1, 2026 · RestMay 2, 2026 · 16.5 kmMay 3, 2026 · RestMay 4, 2026 · 10 kmMay 5, 2026 · 8.4 kmMay 6, 2026 · 11.2 kmMay 7, 2026 · 6.5 kmMay 8, 2026 · 10 kmMay 9, 2026 · RestMay 10, 2026 · RestMay 11, 2026 · 6.5 kmMay 12, 2026 · RestMay 13, 2026 · 8.4 kmMay 14, 2026 · RestMay 15, 2026 · RestMay 16, 2026 · RestMay 17, 2026 · RestMay 18, 2026 · RestMay 19, 2026 · RestMay 20, 2026 · RestMay 21, 2026 · 13 kmMay 22, 2026 · 10.8 kmMay 23, 2026 · 16.2 kmMay 24, 2026 · 20.4 kmMay 25, 2026 · RestMay 26, 2026 · 8.4 kmMay 27, 2026 · 10.3 kmMay 28, 2026 · 7.1 kmMay 29, 2026 · 8.4 kmMay 30, 2026 · 8.9 kmMay 31, 2026 · 21.9 kmJun 1, 2026 · RestJun 2, 2026 · 11.3 kmJun 3, 2026 · RestJun 4, 2026 · 8.4 kmJun 5, 2026 · 10.1 kmJun 6, 2026 · 16.1 kmJun 7, 2026 · RestJun 8, 2026 · 8.4 kmJun 9, 2026 · RestJun 10, 2026 · 11.4 kmJun 11, 2026 · RestJun 12, 2026 · 8.1 kmJun 13, 2026 · 9.4 kmJun 14, 2026 · 16.6 kmJun 15, 2026 · 11.2 kmJun 16, 2026 · 8.4 kmJun 17, 2026 · RestJun 18, 2026 · 8.4 kmJun 19, 2026 · 9.5 kmJun 20, 2026 · RestJun 21, 2026 · RestJun 22, 2026 · 8.4 kmJun 23, 2026 · RestJun 24, 2026 · 10 kmJun 25, 2026 · 6.4 kmJun 26, 2026 · RestJun 27, 2026 · 16.4 kmJun 28, 2026 · RestJun 29, 2026 · RestJun 30, 2026 · 10.2 kmJul 1, 2026 · 8.4 kmJul 2, 2026 · RestJul 3, 2026 · RestJul 4, 2026 · RestJul 5, 2026 · RestJul 6, 2026 · 10 kmJul 7, 2026 · RestJul 8, 2026 · RestJul 9, 2026 · RestJul 10, 2026 · 10 kmJul 11, 2026 · 10.1 kmJul 12, 2026 · RestJul 13, 2026 · 10 kmJul 14, 2026 · 16.1 kmJul 15, 2026 · 10 kmJul 16, 2026 · RestJul 17, 2026 · 10 kmJul 18, 2026 · RestJul 19, 2026 · 8 kmJul 20, 2026 · RestJul 21, 2026 · 12.8 kmJul 22, 2026 · 9.7 kmJul 23, 2026 · RestJul 24, 2026 · 8.8 kmJul 25, 2026 · 13 kmJul 26, 2026 · 5 kmJul 27, 2026 · 11 kmJul 28, 2026 · 8 kmJul 29, 2026 · 10.1 kmJul 30, 2026 · 7.3 kmJul 31, 2026 · RestAug 1, 2026 · 16 kmAug 2, 2026 · RestAug 3, 2026 · 8.4 kmAug 4, 2026 · 11.2 kmAug 5, 2026 · RestAug 6, 2026 · 8.4 kmAug 7, 2026 · RestAug 8, 2026 · 14.8 kmAug 9, 2026 · RestAug 10, 2026 · 6.7 kmAug 11, 2026 · RestAug 12, 2026 · RestAug 13, 2026 · RestAug 14, 2026 · 8.6 kmAug 15, 2026 · 24.7 kmAug 16, 2026 · 7.2 kmAug 17, 2026 · RestAug 18, 2026 · 10.1 kmAug 19, 2026 · 8.4 kmAug 20, 2026 · RestAug 21, 2026 · 8.4 kmAug 22, 2026 · 16.2 kmAug 23, 2026 · 6.5 kmAug 24, 2026 · RestAug 25, 2026 · RestAug 26, 2026 · 8 kmAug 27, 2026 · RestAug 28, 2026 · 10 kmAug 29, 2026 · RestAug 30, 2026 · 16 kmAug 31, 2026 · RestSep 1, 2026 · 8.4 kmSep 2, 2026 · 8.4 kmSep 3, 2026 · RestSep 4, 2026 · 7.3 kmSep 5, 2026 · 16.9 kmSep 6, 2026 · 10.7 kmSep 7, 2026 · 9 kmSep 8, 2026 · RestSep 9, 2026 · 8.4 kmSep 10, 2026 · RestSep 11, 2026 · RestSep 12, 2026 · 14.5 kmSep 13, 2026 · 6.5 kmSep 14, 2026 · 8.4 kmSep 15, 2026 · RestSep 16, 2026 · 10.4 kmSep 17, 2026 · RestSep 18, 2026 · RestSep 19, 2026 · 22.1 kmSep 20, 2026 · RestSep 21, 2026 · RestSep 22, 2026 · 9.5 kmSep 23, 2026 · RestSep 24, 2026 · 10.1 kmSep 25, 2026 · 10.8 kmSep 26, 2026 · 16.6 kmSep 27, 2026 · RestSep 28, 2026 · RestSep 29, 2026 · 5.4 kmSep 30, 2026 · 8.4 kmOct 1, 2026 · 12.8 kmOct 2, 2026 · 7.4 kmOct 3, 2026 · 12 kmOct 4, 2026 · RestOct 5, 2026 · 8.4 kmOct 6, 2026 · RestOct 7, 2026 · RestOct 8, 2026 · 12.8 kmOct 9, 2026 · RestOct 10, 2026 · 11.3 kmOct 11, 2026 · RestOct 12, 2026 · 9 kmOct 13, 2026 · RestOct 14, 2026 · 8 kmOct 15, 2026 · 5.1 kmOct 16, 2026 · 5.1 kmOct 17, 2026 · RestOct 18, 2026 · RestOct 19, 2026 · RestOct 20, 2026 · RestOct 21, 2026 · RestOct 22, 2026 · 8.4 kmOct 23, 2026 · RestRest<525+ km

How these grids are made

Recent writing

New essays go out first on my Substack, then land here in Writing.