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 ❤️
Instagram Story Viewer to proste narzędzie, które pozwala na ciche oglądanie i zapisywanie historii Instagram, filmów, zdjęć lub IGTV. Dzięki tej usłudze możesz pobrać zawartość i cieszyć się nią offline, kiedy chcesz. Jeśli znajdziesz coś interesującego na Instagramie, co chcesz sprawdzić później, lub chcesz oglądać historie pozostając anonimowym, nasz Viewer jest idealny dla Ciebie. Anonstories oferuje doskonałe rozwiązanie do ukrywania swojej tożsamości. Instagram po raz pierwszy uruchomił funkcję historii w sierpniu 2023 roku, która szybko została zaadoptowana przez inne platformy ze względu na jej angażujący, czasowo ograniczony format. Historie pozwalają użytkownikom dzielić się szybkimi aktualizacjami, czy to zdjęciami, filmami, czy selfie, wzbogaconymi o tekst, emotikony lub filtry, i są widoczne tylko przez 24 godziny. Ten ograniczony czas sprawia, że historie cieszą się dużym zaangażowaniem w porównaniu do zwykłych postów. W dzisiejszym świecie historie to jeden z najpopularniejszych sposobów komunikacji na mediach społecznościowych. Jednak gdy oglądasz historię, twórca może zobaczyć Twoje imię na liście oglądających, co może stanowić problem związany z prywatnością. Co jeśli chcesz przeglądać historie, nie będąc zauważonym? Tutaj Anonstories staje się przydatne. Umożliwia oglądanie publicznej zawartości Instagram bez ujawniania tożsamości. Wystarczy wpisać nazwę użytkownika profilu, który Cię interesuje, a narzędzie wyświetli ich najnowsze historie. Cechy Anonstories Viewer: - Anonimowe przeglądanie: Oglądaj historie bez pojawiania się na liście oglądających. - Brak konta: Oglądaj publiczną zawartość bez logowania się na konto Instagram. - Pobieranie zawartości: Zapisuj dowolną zawartość historii bezpośrednio na swoje urządzenie do użytku offline. - Przeglądaj najważniejsze: Dostęp do Instagram Highlights, nawet po 24 godzinach. - Monitorowanie repostów: Śledź reposty lub poziom zaangażowania w historię na prywatnych profilach. Ograniczenia: - Narzędzie działa tylko z publicznymi kontami; konta prywatne pozostają niedostępne. Korzyści: - Przyjazne dla prywatności: Oglądaj zawartość Instagram bez bycia zauważonym. - Proste i łatwe: Brak potrzeby instalacji aplikacji lub rejestracji. - Ekskluzywne narzędzia: Pobieraj i zarządzaj zawartością w sposób, którego Instagram nie oferuje.
Śledź aktualizacje na Instagramie dyskretnie, chroniąc swoją prywatność i pozostając anonimowym.
Oglądaj profile i zdjęcia anonimowo za pomocą Prywatnego Viewera.
To darmowe narzędzie pozwala oglądać historie Instagram anonimowo, zapewniając, że Twoja aktywność pozostaje ukryta przed twórcą historii.
Anonstories pozwala użytkownikom oglądać historie na Instagramie bez informowania twórcy.
Funkcjonuje płynnie na iOS, Android, Windows, macOS i nowoczesnych przeglądarkach takich jak Chrome i Safari.
Priorytetem jest bezpieczne, anonimowe przeglądanie bez konieczności logowania się.
Użytkownicy mogą oglądać publiczne historie, wpisując nazwę użytkownika – bez konieczności zakładania konta.
Pobiera zdjęcia (JPEG) i filmy (MP4) z łatwością.
Usługa jest bezpłatna.
Treści z prywatnych kont mogą być dostępne tylko dla obserwujących.
Pliki są przeznaczone do użytku osobistego lub edukacyjnego i muszą być zgodne z przepisami dotyczącymi praw autorskich.
Wpisz publiczną nazwę użytkownika, aby oglądać lub pobrać historie. Usługa generuje bezpośrednie linki do zapis