Kyle McCall
Chasing the horizon.

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

Miwok 100k! I’m still celebrating this finish line and a magical day of racing on the local trails. One of the best parts of the day was seeing so many friends on the course either racing, spectating, crewing, or taking amazing photos. Huge thanks to @tonywithasony and @banta.visuals for these bangers!
I wrote a full race recap in my previous post (go check it out) so I don’t have that much more to say here. I think these pictures tell the story better than I ever could anyway! As I recover from this race I am already excited for the next big adventure on the horizon and am more motivated than ever to get out on the trails this summer 🏔️
. x . x .
@never.second @hoka @miwok100k

The last time I ran a 100k was at Canyons in 2022 and I had big dreams for Miwok. During long distance (over 50k) ultras I’ve always gone into survival mode, especially at the end. Usually I end up puking and power hiking. But my hope was with more conservative pacing (thank you UltraPacer.com) and better fueling (shout out @never.second) I could keep “running” all day.
Any race this long is going to have highs and lows, but yesterday I felt some real trail magic. Well-planned race strategy and a higher mileage training schedule paid off. But the mental game is huge too. This is a year of huge life changes for me and I spent a lot of time reflecting on those while I was out there. It puts everything into a new perspective and I am more grateful than ever to have a healthy body and the freedom to run.
My A-Goal for this race was to crack 12 hours which would have been a big PR on a difficult course. I picked up my pacer (also Kyle) with 13 miles to go and that goal was still within reach - but we’d have to work for it. The final 2 miles were a technical descent that’s treacherous on fresh legs and my quads/knees were screaming every time I jumped over a root or off a drop. Then, finally, we hit pavement in Stinson Beach, with less than 3 minutes to spare.
I would not have been able to run this amazing race without the support of the homies @redwoodroadrunners @seth_lareau and my accomplice in life @meganruble
And now, 🍔🍕🍨

The last time I ran a 100k was at Canyons in 2022 and I had big dreams for Miwok. During long distance (over 50k) ultras I’ve always gone into survival mode, especially at the end. Usually I end up puking and power hiking. But my hope was with more conservative pacing (thank you UltraPacer.com) and better fueling (shout out @never.second) I could keep “running” all day.
Any race this long is going to have highs and lows, but yesterday I felt some real trail magic. Well-planned race strategy and a higher mileage training schedule paid off. But the mental game is huge too. This is a year of huge life changes for me and I spent a lot of time reflecting on those while I was out there. It puts everything into a new perspective and I am more grateful than ever to have a healthy body and the freedom to run.
My A-Goal for this race was to crack 12 hours which would have been a big PR on a difficult course. I picked up my pacer (also Kyle) with 13 miles to go and that goal was still within reach - but we’d have to work for it. The final 2 miles were a technical descent that’s treacherous on fresh legs and my quads/knees were screaming every time I jumped over a root or off a drop. Then, finally, we hit pavement in Stinson Beach, with less than 3 minutes to spare.
I would not have been able to run this amazing race without the support of the homies @redwoodroadrunners @seth_lareau and my accomplice in life @meganruble
And now, 🍔🍕🍨

The last time I ran a 100k was at Canyons in 2022 and I had big dreams for Miwok. During long distance (over 50k) ultras I’ve always gone into survival mode, especially at the end. Usually I end up puking and power hiking. But my hope was with more conservative pacing (thank you UltraPacer.com) and better fueling (shout out @never.second) I could keep “running” all day.
Any race this long is going to have highs and lows, but yesterday I felt some real trail magic. Well-planned race strategy and a higher mileage training schedule paid off. But the mental game is huge too. This is a year of huge life changes for me and I spent a lot of time reflecting on those while I was out there. It puts everything into a new perspective and I am more grateful than ever to have a healthy body and the freedom to run.
My A-Goal for this race was to crack 12 hours which would have been a big PR on a difficult course. I picked up my pacer (also Kyle) with 13 miles to go and that goal was still within reach - but we’d have to work for it. The final 2 miles were a technical descent that’s treacherous on fresh legs and my quads/knees were screaming every time I jumped over a root or off a drop. Then, finally, we hit pavement in Stinson Beach, with less than 3 minutes to spare.
I would not have been able to run this amazing race without the support of the homies @redwoodroadrunners @seth_lareau and my accomplice in life @meganruble
And now, 🍔🍕🍨

The last time I ran a 100k was at Canyons in 2022 and I had big dreams for Miwok. During long distance (over 50k) ultras I’ve always gone into survival mode, especially at the end. Usually I end up puking and power hiking. But my hope was with more conservative pacing (thank you UltraPacer.com) and better fueling (shout out @never.second) I could keep “running” all day.
Any race this long is going to have highs and lows, but yesterday I felt some real trail magic. Well-planned race strategy and a higher mileage training schedule paid off. But the mental game is huge too. This is a year of huge life changes for me and I spent a lot of time reflecting on those while I was out there. It puts everything into a new perspective and I am more grateful than ever to have a healthy body and the freedom to run.
My A-Goal for this race was to crack 12 hours which would have been a big PR on a difficult course. I picked up my pacer (also Kyle) with 13 miles to go and that goal was still within reach - but we’d have to work for it. The final 2 miles were a technical descent that’s treacherous on fresh legs and my quads/knees were screaming every time I jumped over a root or off a drop. Then, finally, we hit pavement in Stinson Beach, with less than 3 minutes to spare.
I would not have been able to run this amazing race without the support of the homies @redwoodroadrunners @seth_lareau and my accomplice in life @meganruble
And now, 🍔🍕🍨

The last time I ran a 100k was at Canyons in 2022 and I had big dreams for Miwok. During long distance (over 50k) ultras I’ve always gone into survival mode, especially at the end. Usually I end up puking and power hiking. But my hope was with more conservative pacing (thank you UltraPacer.com) and better fueling (shout out @never.second) I could keep “running” all day.
Any race this long is going to have highs and lows, but yesterday I felt some real trail magic. Well-planned race strategy and a higher mileage training schedule paid off. But the mental game is huge too. This is a year of huge life changes for me and I spent a lot of time reflecting on those while I was out there. It puts everything into a new perspective and I am more grateful than ever to have a healthy body and the freedom to run.
My A-Goal for this race was to crack 12 hours which would have been a big PR on a difficult course. I picked up my pacer (also Kyle) with 13 miles to go and that goal was still within reach - but we’d have to work for it. The final 2 miles were a technical descent that’s treacherous on fresh legs and my quads/knees were screaming every time I jumped over a root or off a drop. Then, finally, we hit pavement in Stinson Beach, with less than 3 minutes to spare.
I would not have been able to run this amazing race without the support of the homies @redwoodroadrunners @seth_lareau and my accomplice in life @meganruble
And now, 🍔🍕🍨
The last time I ran a 100k was at Canyons in 2022 and I had big dreams for Miwok. During long distance (over 50k) ultras I’ve always gone into survival mode, especially at the end. Usually I end up puking and power hiking. But my hope was with more conservative pacing (thank you UltraPacer.com) and better fueling (shout out @never.second) I could keep “running” all day.
Any race this long is going to have highs and lows, but yesterday I felt some real trail magic. Well-planned race strategy and a higher mileage training schedule paid off. But the mental game is huge too. This is a year of huge life changes for me and I spent a lot of time reflecting on those while I was out there. It puts everything into a new perspective and I am more grateful than ever to have a healthy body and the freedom to run.
My A-Goal for this race was to crack 12 hours which would have been a big PR on a difficult course. I picked up my pacer (also Kyle) with 13 miles to go and that goal was still within reach - but we’d have to work for it. The final 2 miles were a technical descent that’s treacherous on fresh legs and my quads/knees were screaming every time I jumped over a root or off a drop. Then, finally, we hit pavement in Stinson Beach, with less than 3 minutes to spare.
I would not have been able to run this amazing race without the support of the homies @redwoodroadrunners @seth_lareau and my accomplice in life @meganruble
And now, 🍔🍕🍨
The last time I ran a 100k was at Canyons in 2022 and I had big dreams for Miwok. During long distance (over 50k) ultras I’ve always gone into survival mode, especially at the end. Usually I end up puking and power hiking. But my hope was with more conservative pacing (thank you UltraPacer.com) and better fueling (shout out @never.second) I could keep “running” all day.
Any race this long is going to have highs and lows, but yesterday I felt some real trail magic. Well-planned race strategy and a higher mileage training schedule paid off. But the mental game is huge too. This is a year of huge life changes for me and I spent a lot of time reflecting on those while I was out there. It puts everything into a new perspective and I am more grateful than ever to have a healthy body and the freedom to run.
My A-Goal for this race was to crack 12 hours which would have been a big PR on a difficult course. I picked up my pacer (also Kyle) with 13 miles to go and that goal was still within reach - but we’d have to work for it. The final 2 miles were a technical descent that’s treacherous on fresh legs and my quads/knees were screaming every time I jumped over a root or off a drop. Then, finally, we hit pavement in Stinson Beach, with less than 3 minutes to spare.
I would not have been able to run this amazing race without the support of the homies @redwoodroadrunners @seth_lareau and my accomplice in life @meganruble
And now, 🍔🍕🍨

The last time I ran a 100k was at Canyons in 2022 and I had big dreams for Miwok. During long distance (over 50k) ultras I’ve always gone into survival mode, especially at the end. Usually I end up puking and power hiking. But my hope was with more conservative pacing (thank you UltraPacer.com) and better fueling (shout out @never.second) I could keep “running” all day.
Any race this long is going to have highs and lows, but yesterday I felt some real trail magic. Well-planned race strategy and a higher mileage training schedule paid off. But the mental game is huge too. This is a year of huge life changes for me and I spent a lot of time reflecting on those while I was out there. It puts everything into a new perspective and I am more grateful than ever to have a healthy body and the freedom to run.
My A-Goal for this race was to crack 12 hours which would have been a big PR on a difficult course. I picked up my pacer (also Kyle) with 13 miles to go and that goal was still within reach - but we’d have to work for it. The final 2 miles were a technical descent that’s treacherous on fresh legs and my quads/knees were screaming every time I jumped over a root or off a drop. Then, finally, we hit pavement in Stinson Beach, with less than 3 minutes to spare.
I would not have been able to run this amazing race without the support of the homies @redwoodroadrunners @seth_lareau and my accomplice in life @meganruble
And now, 🍔🍕🍨

3 weeks to Miwok 100k! The hay is in the barn and I was able to get in some really solid mileage during my “funemployment.” This week I started a new job, so won’t be able to do 20 milers on a Tuesday 😂 I’m grateful to have had the chance to push the volume a bit and that my body handled it super well. Watching the Gorge 100k this weekend was a huge inspiration, getting to see some of the homies clock in some solid results (LFG @tonywithasony!)
Through all of these big life changes, running is always such a consistent and grounding practice. When I pin on the number in May, my biggest goal is to soak in the day, to not sweat the results, and to leave it all out on the course.

3 weeks to Miwok 100k! The hay is in the barn and I was able to get in some really solid mileage during my “funemployment.” This week I started a new job, so won’t be able to do 20 milers on a Tuesday 😂 I’m grateful to have had the chance to push the volume a bit and that my body handled it super well. Watching the Gorge 100k this weekend was a huge inspiration, getting to see some of the homies clock in some solid results (LFG @tonywithasony!)
Through all of these big life changes, running is always such a consistent and grounding practice. When I pin on the number in May, my biggest goal is to soak in the day, to not sweat the results, and to leave it all out on the course.

3 weeks to Miwok 100k! The hay is in the barn and I was able to get in some really solid mileage during my “funemployment.” This week I started a new job, so won’t be able to do 20 milers on a Tuesday 😂 I’m grateful to have had the chance to push the volume a bit and that my body handled it super well. Watching the Gorge 100k this weekend was a huge inspiration, getting to see some of the homies clock in some solid results (LFG @tonywithasony!)
Through all of these big life changes, running is always such a consistent and grounding practice. When I pin on the number in May, my biggest goal is to soak in the day, to not sweat the results, and to leave it all out on the course.

3 weeks to Miwok 100k! The hay is in the barn and I was able to get in some really solid mileage during my “funemployment.” This week I started a new job, so won’t be able to do 20 milers on a Tuesday 😂 I’m grateful to have had the chance to push the volume a bit and that my body handled it super well. Watching the Gorge 100k this weekend was a huge inspiration, getting to see some of the homies clock in some solid results (LFG @tonywithasony!)
Through all of these big life changes, running is always such a consistent and grounding practice. When I pin on the number in May, my biggest goal is to soak in the day, to not sweat the results, and to leave it all out on the course.

3 weeks to Miwok 100k! The hay is in the barn and I was able to get in some really solid mileage during my “funemployment.” This week I started a new job, so won’t be able to do 20 milers on a Tuesday 😂 I’m grateful to have had the chance to push the volume a bit and that my body handled it super well. Watching the Gorge 100k this weekend was a huge inspiration, getting to see some of the homies clock in some solid results (LFG @tonywithasony!)
Through all of these big life changes, running is always such a consistent and grounding practice. When I pin on the number in May, my biggest goal is to soak in the day, to not sweat the results, and to leave it all out on the course.

3 weeks to Miwok 100k! The hay is in the barn and I was able to get in some really solid mileage during my “funemployment.” This week I started a new job, so won’t be able to do 20 milers on a Tuesday 😂 I’m grateful to have had the chance to push the volume a bit and that my body handled it super well. Watching the Gorge 100k this weekend was a huge inspiration, getting to see some of the homies clock in some solid results (LFG @tonywithasony!)
Through all of these big life changes, running is always such a consistent and grounding practice. When I pin on the number in May, my biggest goal is to soak in the day, to not sweat the results, and to leave it all out on the course.

3 weeks to Miwok 100k! The hay is in the barn and I was able to get in some really solid mileage during my “funemployment.” This week I started a new job, so won’t be able to do 20 milers on a Tuesday 😂 I’m grateful to have had the chance to push the volume a bit and that my body handled it super well. Watching the Gorge 100k this weekend was a huge inspiration, getting to see some of the homies clock in some solid results (LFG @tonywithasony!)
Through all of these big life changes, running is always such a consistent and grounding practice. When I pin on the number in May, my biggest goal is to soak in the day, to not sweat the results, and to leave it all out on the course.
3 weeks to Miwok 100k! The hay is in the barn and I was able to get in some really solid mileage during my “funemployment.” This week I started a new job, so won’t be able to do 20 milers on a Tuesday 😂 I’m grateful to have had the chance to push the volume a bit and that my body handled it super well. Watching the Gorge 100k this weekend was a huge inspiration, getting to see some of the homies clock in some solid results (LFG @tonywithasony!)
Through all of these big life changes, running is always such a consistent and grounding practice. When I pin on the number in May, my biggest goal is to soak in the day, to not sweat the results, and to leave it all out on the course.

3 weeks to Miwok 100k! The hay is in the barn and I was able to get in some really solid mileage during my “funemployment.” This week I started a new job, so won’t be able to do 20 milers on a Tuesday 😂 I’m grateful to have had the chance to push the volume a bit and that my body handled it super well. Watching the Gorge 100k this weekend was a huge inspiration, getting to see some of the homies clock in some solid results (LFG @tonywithasony!)
Through all of these big life changes, running is always such a consistent and grounding practice. When I pin on the number in May, my biggest goal is to soak in the day, to not sweat the results, and to leave it all out on the course.

Another brick in the wall 🧱
Miwok training continues, along with California’s alarmingly beautiful March weather. Got in a couple of longer runs this week after forgoing my long run last weekend while I was supporting the Big Alta team. Feeling strong and durable as I’ve been building volume - aiming to get a couple more big weeks in before the race.
Another brick in the wall 🧱
Miwok training continues, along with California’s alarmingly beautiful March weather. Got in a couple of longer runs this week after forgoing my long run last weekend while I was supporting the Big Alta team. Feeling strong and durable as I’ve been building volume - aiming to get a couple more big weeks in before the race.
Another brick in the wall 🧱
Miwok training continues, along with California’s alarmingly beautiful March weather. Got in a couple of longer runs this week after forgoing my long run last weekend while I was supporting the Big Alta team. Feeling strong and durable as I’ve been building volume - aiming to get a couple more big weeks in before the race.
Another brick in the wall 🧱
Miwok training continues, along with California’s alarmingly beautiful March weather. Got in a couple of longer runs this week after forgoing my long run last weekend while I was supporting the Big Alta team. Feeling strong and durable as I’ve been building volume - aiming to get a couple more big weeks in before the race.

Another brick in the wall 🧱
Miwok training continues, along with California’s alarmingly beautiful March weather. Got in a couple of longer runs this week after forgoing my long run last weekend while I was supporting the Big Alta team. Feeling strong and durable as I’ve been building volume - aiming to get a couple more big weeks in before the race.
Another brick in the wall 🧱
Miwok training continues, along with California’s alarmingly beautiful March weather. Got in a couple of longer runs this week after forgoing my long run last weekend while I was supporting the Big Alta team. Feeling strong and durable as I’ve been building volume - aiming to get a couple more big weeks in before the race.
Wake up, babe. New Speedgoats are here.
My take on the new @hoka Speedgoat 7 - a welcome update to a legendary trail running shoe.

Highlights from covering The Big Alta with @runfreetrail! I was out in course managing the socials along with @tonywithasony and we had three of pic days of trail running. What’s so cool about these races is that @dylanbo has included so many hidden gems. Last year when I raced the 50k, it introduced me to the Marinwood loop. This year supporting the 100k for me out to some trails on the north side of Mt Tam that I’d never done, even after living here for a decade.
Huge amount of gratitude to @daybreakracing and @salomonrunning for hosting such a world class event in our backyard and to Dylan, Harmony, Ryan, Brett, and the rest of the Freetrail team for including me in their event coverage. Next year, I might have to toe the line for the 100k!
Highlights from covering The Big Alta with @runfreetrail! I was out in course managing the socials along with @tonywithasony and we had three of pic days of trail running. What’s so cool about these races is that @dylanbo has included so many hidden gems. Last year when I raced the 50k, it introduced me to the Marinwood loop. This year supporting the 100k for me out to some trails on the north side of Mt Tam that I’d never done, even after living here for a decade.
Huge amount of gratitude to @daybreakracing and @salomonrunning for hosting such a world class event in our backyard and to Dylan, Harmony, Ryan, Brett, and the rest of the Freetrail team for including me in their event coverage. Next year, I might have to toe the line for the 100k!

Highlights from covering The Big Alta with @runfreetrail! I was out in course managing the socials along with @tonywithasony and we had three of pic days of trail running. What’s so cool about these races is that @dylanbo has included so many hidden gems. Last year when I raced the 50k, it introduced me to the Marinwood loop. This year supporting the 100k for me out to some trails on the north side of Mt Tam that I’d never done, even after living here for a decade.
Huge amount of gratitude to @daybreakracing and @salomonrunning for hosting such a world class event in our backyard and to Dylan, Harmony, Ryan, Brett, and the rest of the Freetrail team for including me in their event coverage. Next year, I might have to toe the line for the 100k!

Highlights from covering The Big Alta with @runfreetrail! I was out in course managing the socials along with @tonywithasony and we had three of pic days of trail running. What’s so cool about these races is that @dylanbo has included so many hidden gems. Last year when I raced the 50k, it introduced me to the Marinwood loop. This year supporting the 100k for me out to some trails on the north side of Mt Tam that I’d never done, even after living here for a decade.
Huge amount of gratitude to @daybreakracing and @salomonrunning for hosting such a world class event in our backyard and to Dylan, Harmony, Ryan, Brett, and the rest of the Freetrail team for including me in their event coverage. Next year, I might have to toe the line for the 100k!

Highlights from covering The Big Alta with @runfreetrail! I was out in course managing the socials along with @tonywithasony and we had three of pic days of trail running. What’s so cool about these races is that @dylanbo has included so many hidden gems. Last year when I raced the 50k, it introduced me to the Marinwood loop. This year supporting the 100k for me out to some trails on the north side of Mt Tam that I’d never done, even after living here for a decade.
Huge amount of gratitude to @daybreakracing and @salomonrunning for hosting such a world class event in our backyard and to Dylan, Harmony, Ryan, Brett, and the rest of the Freetrail team for including me in their event coverage. Next year, I might have to toe the line for the 100k!

Highlights from covering The Big Alta with @runfreetrail! I was out in course managing the socials along with @tonywithasony and we had three of pic days of trail running. What’s so cool about these races is that @dylanbo has included so many hidden gems. Last year when I raced the 50k, it introduced me to the Marinwood loop. This year supporting the 100k for me out to some trails on the north side of Mt Tam that I’d never done, even after living here for a decade.
Huge amount of gratitude to @daybreakracing and @salomonrunning for hosting such a world class event in our backyard and to Dylan, Harmony, Ryan, Brett, and the rest of the Freetrail team for including me in their event coverage. Next year, I might have to toe the line for the 100k!

Highlights from covering The Big Alta with @runfreetrail! I was out in course managing the socials along with @tonywithasony and we had three of pic days of trail running. What’s so cool about these races is that @dylanbo has included so many hidden gems. Last year when I raced the 50k, it introduced me to the Marinwood loop. This year supporting the 100k for me out to some trails on the north side of Mt Tam that I’d never done, even after living here for a decade.
Huge amount of gratitude to @daybreakracing and @salomonrunning for hosting such a world class event in our backyard and to Dylan, Harmony, Ryan, Brett, and the rest of the Freetrail team for including me in their event coverage. Next year, I might have to toe the line for the 100k!

Highlights from covering The Big Alta with @runfreetrail! I was out in course managing the socials along with @tonywithasony and we had three of pic days of trail running. What’s so cool about these races is that @dylanbo has included so many hidden gems. Last year when I raced the 50k, it introduced me to the Marinwood loop. This year supporting the 100k for me out to some trails on the north side of Mt Tam that I’d never done, even after living here for a decade.
Huge amount of gratitude to @daybreakracing and @salomonrunning for hosting such a world class event in our backyard and to Dylan, Harmony, Ryan, Brett, and the rest of the Freetrail team for including me in their event coverage. Next year, I might have to toe the line for the 100k!

Highlights from covering The Big Alta with @runfreetrail! I was out in course managing the socials along with @tonywithasony and we had three of pic days of trail running. What’s so cool about these races is that @dylanbo has included so many hidden gems. Last year when I raced the 50k, it introduced me to the Marinwood loop. This year supporting the 100k for me out to some trails on the north side of Mt Tam that I’d never done, even after living here for a decade.
Huge amount of gratitude to @daybreakracing and @salomonrunning for hosting such a world class event in our backyard and to Dylan, Harmony, Ryan, Brett, and the rest of the Freetrail team for including me in their event coverage. Next year, I might have to toe the line for the 100k!
5 minute PR without anymore miles 🏋🏻
Example workout:
1️⃣ Barbell Squat
4 sets × 6 reps @ ~80–85% 1RM
2️⃣ Romanian Deadlift
4 sets × 6 reps @ ~80–85% 1RM
Rest for 2-3 minutes between sets
Avoid injury by feeling like you had 1-2 reps in reserve.
Source: Journal of Sports Medicine (2024) 54:895-932

The @miwok100k build continues with more beautiful days and banger runs. Been getting out to Marin almost every Saturday with the @sfrunco bunch. It’s always more fun with the group.
Sometimes when you’re in the middle of a long run it feels like a slog. You’re tired. Maybe you’re hungry. But it is always a blessing. These are the days, lads. These are the days.
The @miwok100k build continues with more beautiful days and banger runs. Been getting out to Marin almost every Saturday with the @sfrunco bunch. It’s always more fun with the group.
Sometimes when you’re in the middle of a long run it feels like a slog. You’re tired. Maybe you’re hungry. But it is always a blessing. These are the days, lads. These are the days.

The @miwok100k build continues with more beautiful days and banger runs. Been getting out to Marin almost every Saturday with the @sfrunco bunch. It’s always more fun with the group.
Sometimes when you’re in the middle of a long run it feels like a slog. You’re tired. Maybe you’re hungry. But it is always a blessing. These are the days, lads. These are the days.
The @miwok100k build continues with more beautiful days and banger runs. Been getting out to Marin almost every Saturday with the @sfrunco bunch. It’s always more fun with the group.
Sometimes when you’re in the middle of a long run it feels like a slog. You’re tired. Maybe you’re hungry. But it is always a blessing. These are the days, lads. These are the days.
The @miwok100k build continues with more beautiful days and banger runs. Been getting out to Marin almost every Saturday with the @sfrunco bunch. It’s always more fun with the group.
Sometimes when you’re in the middle of a long run it feels like a slog. You’re tired. Maybe you’re hungry. But it is always a blessing. These are the days, lads. These are the days.
Getting ready for Miwok 100k. About 250 cal/hour on this run at a solid pace chasing @_akcameron_ !#hoka #ultrarunning #trailrunning #CapCut

When I ran my first marathon in 2013, I was extremely undertrained and my goal was to just make it to the finish line. I didn’t care how long it took. That run was joyful as I clicked off the miles, passed through familiar Portland neighborhoods, and completed my longest run ever.
The next year, I ran the Portland Marathon again but this time with the goal of setting a PR by 10 minutes. I trained more; but still, in retrospect, inadequately. I went out hard and blew up at mile 20. I finished in almost exactly the same time as the previous year. And I was disappointed.
Since then I’ve had a complicated relationship with chasing personal bests, as many runners do. Between my first marathon and my second, I’d lost a little bit of the sense of wonder running 26.2 miles deserves. I’d decided to let the clock tell me how to feel about my race.
Going into CIM, I told people that my number one goal was to run with joy. I’d had a nearly perfect training block, including great workouts with friends. The clock at the finish line would tell me my finishing time. But I would define my results.
It turned out that the clock gave me something else to celebrate – a 4 minute PR and a time that will (hopefully) get me into Boston. But what I will remember most were running with Cole and Tim. Training with the Redwood Roadrunners. To paraphrase Semi-Rad, “You think 26.2 miles is far? I ran a couple thousand just to get to the start line.” The race, ultimately, is a single day of celebration. It’s running that keeps me going.
Photo: @acaurora

We’re going to Boston, baby! After 3 years of attempts, I feel confident this is the one (got 8+ min of buffer ✔️)
But more importantly, this day was an absolute gift from the marathon gods, a dream race from tape to tape. Went out at 2:55 with SUPER pacers @c0lewats0n and @timtollefson who ran like a pair of clocks. Felt goood going through half way and decided to open it up.
Got some massive inspiration from seeing so many friends on course: @meganruble , @spunkylilpip , @davidtlam , @redwoodroadrunners , and more. THANK YOU!
In the last few miles I had to take out the shovel and dig into the pain cave, got a nice new den in there now. It was all joyful suffering as the legs and stomach held together as best as I could as of them and I was free to search for the limits of my lungs and my heart and my mind.
One for the books friends. Thank you running ❤️

We’re going to Boston, baby! After 3 years of attempts, I feel confident this is the one (got 8+ min of buffer ✔️)
But more importantly, this day was an absolute gift from the marathon gods, a dream race from tape to tape. Went out at 2:55 with SUPER pacers @c0lewats0n and @timtollefson who ran like a pair of clocks. Felt goood going through half way and decided to open it up.
Got some massive inspiration from seeing so many friends on course: @meganruble , @spunkylilpip , @davidtlam , @redwoodroadrunners , and more. THANK YOU!
In the last few miles I had to take out the shovel and dig into the pain cave, got a nice new den in there now. It was all joyful suffering as the legs and stomach held together as best as I could as of them and I was free to search for the limits of my lungs and my heart and my mind.
One for the books friends. Thank you running ❤️

We’re going to Boston, baby! After 3 years of attempts, I feel confident this is the one (got 8+ min of buffer ✔️)
But more importantly, this day was an absolute gift from the marathon gods, a dream race from tape to tape. Went out at 2:55 with SUPER pacers @c0lewats0n and @timtollefson who ran like a pair of clocks. Felt goood going through half way and decided to open it up.
Got some massive inspiration from seeing so many friends on course: @meganruble , @spunkylilpip , @davidtlam , @redwoodroadrunners , and more. THANK YOU!
In the last few miles I had to take out the shovel and dig into the pain cave, got a nice new den in there now. It was all joyful suffering as the legs and stomach held together as best as I could as of them and I was free to search for the limits of my lungs and my heart and my mind.
One for the books friends. Thank you running ❤️

We’re going to Boston, baby! After 3 years of attempts, I feel confident this is the one (got 8+ min of buffer ✔️)
But more importantly, this day was an absolute gift from the marathon gods, a dream race from tape to tape. Went out at 2:55 with SUPER pacers @c0lewats0n and @timtollefson who ran like a pair of clocks. Felt goood going through half way and decided to open it up.
Got some massive inspiration from seeing so many friends on course: @meganruble , @spunkylilpip , @davidtlam , @redwoodroadrunners , and more. THANK YOU!
In the last few miles I had to take out the shovel and dig into the pain cave, got a nice new den in there now. It was all joyful suffering as the legs and stomach held together as best as I could as of them and I was free to search for the limits of my lungs and my heart and my mind.
One for the books friends. Thank you running ❤️
인스타그램 스토리 뷰어는 인스타그램 스토리, 비디오, 사진 또는 IGTV를 비밀리에 보고 저장할 수 있는 간단한 도구입니다. 이 서비스를 통해 콘텐츠를 다운로드하고 언제든지 오프라인으로 즐길 수 있습니다. 인스타그램에서 나중에 확인하고 싶은 흥미로운 콘텐츠를 찾거나 익명으로 스토리를 보고 싶다면, 우리 뷰어가 적합합니다. Anonstories는 신원을 숨길 수 있는 훌륭한 솔루션을 제공합니다. 인스타그램은 2023년 8월에 스토리 기능을 출시했으며, 이 기능은 흥미롭고 시간에 민감한 형식으로 빠르게 다른 플랫폼에 채택되었습니다. 스토리는 사용자가 텍스트, 이모지 또는 필터로 보강된 사진, 비디오 또는 셀카를 공유할 수 있게 해주며, 24시간 동안만 표시됩니다. 이 제한된 시간 동안 높은 참여를 유도하며 일반 게시물보다 더 많은 반응을 얻을 수 있습니다. 오늘날 스토리는 소셜 미디어에서 연결하고 소통하는 가장 인기 있는 방법 중 하나입니다. 그러나 스토리를 볼 때, 제작자는 자신의 뷰어 목록에서 당신의 이름을 볼 수 있으며, 이는 개인 정보 보호에 대한 우려를 일으킬 수 있습니다. 만약 스토리를 아무도 모르게 탐색하고 싶다면? 그때 Anonstories가 유용해집니다. 이 도구는 신원을 드러내지 않고 공개된 인스타그램 콘텐츠를 볼 수 있게 해줍니다. 관심 있는 프로필의 사용자명을 입력하면 해당 프로필의 최신 스토리를 확인할 수 있습니다. Anonstories 뷰어의 특징: - 익명 브라우징: 뷰어 목록에 나타나지 않고 스토리를 볼 수 있습니다. - 계정 필요 없음: 인스타그램 계정에 가입하지 않고 공개 콘텐츠를 볼 수 있습니다. - 콘텐츠 다운로드: 스토리 콘텐츠를 직접 다운로드하여 오프라인에서 사용할 수 있습니다. - 하이라이트 보기: 24시간 제한을 넘어서 인스타그램 하이라이트를 볼 수 있습니다. - 리포스트 모니터링: 개인 프로필의 스토리 리포스트나 참여도를 추적할 수 있습니다. 제한 사항: - 이 도구는 공개 계정에서만 작동하며, 개인 계정은 접근할 수 없습니다. 장점: - 개인 정보 보호 친화적: 인스타그램 콘텐츠를 보면서도 눈에 띄지 않습니다. - 간단하고 쉬움: 앱 설치나 등록이 필요 없습니다. - 독점 도구: 인스타그램에서 제공하지 않는 방식으로 콘텐츠를 다운로드하고 관리할 수 있습니다.
인스타그램 업데이트를 비밀리에 추적하고 개인 정보를 보호하며 익명으로 남을 수 있습니다.
개인 프로필 뷰어를 사용하여 쉽게 프로필과 사진을 익명으로 볼 수 있습니다.
이 무료 도구는 인스타그램 스토리를 익명으로 볼 수 있게 해주며, 스토리 업로더에게 활동을 숨길 수 있습니다.
Anonstories는 사용자가 인스타그램 스토리를 볼 때 제작자에게 알림을 보내지 않도록 합니다.
iOS, Android, Windows, macOS, Chrome, Safari와 같은 최신 브라우저에서 원활하게 작동합니다.
로그인 정보 없이 안전하고 익명으로 브라우징할 수 있습니다.
사용자는 간단히 사용자명을 입력하여 공개된 스토리를 볼 수 있습니다. 계정이 필요하지 않습니다.
사진(JPEG)과 비디오(MP4)를 쉽게 다운로드합니다.
이 서비스는 무료로 제공됩니다.
비공개 계정의 콘텐츠는 팔로워만 접근할 수 있습니다.
파일은 개인적 또는 교육적 용도로만 사용 가능하며 저작권 규정을 준수해야 합니다.
공개된 사용자명을 입력하여 스토리를 보거나 다운로드할 수 있습니다. 서비스는 콘텐츠를 로컬에 저장할 수 있는 직접 링크를 생성합니다.