Site Overlay

The 2023 Eastern States 100 Mile Ultramarathon

The 2023 Eastern States 100 took place on August 12-13. This 103 mile, single-loop run through the Pine Creek Gorge (also known as the PA Grand Canyon) is the east coast response to Western States, the original 100 mile trail race. Eastern States is only 10 years young, but has earned the reputation of being one of the most challenging 100 milers in the country.

This event takes place deep in the Pennsylvania Wilds, that big green space in the middle of the state between Philadelphia and Pittsburgh that happens to include over 2 million acres of public land. It’s home to black bears, diamondback rattlesnakes, sparse cell phone coverage, and the occasional settlement of humans.

The race kicks off at 5am on a Saturday morning, and the cutoff is at 5pm on Sunday afternoon – a deceptively generous 36 hours until you fully appreciate how much constantly moving either uphill or downhill is a drag on pace. The 8-10 hour period of darkness overnight slows things down even more.

It’s been a long three and a half years and two DNFs since the last time I crossed the finish line of a 100 mile race, and I’m proud to say that I can still go get it done! But this one is special.

🙌 At 103 miles (slightly more due to getting lost twice in the middle of the night), it’s the longest distance that I’ve ever run.
🙌 At over 20,000 feet of net elevation gain (2/3 the height of Mount Everest), it’s the most ascent and descent that I’ve ever climbed at once.
🙌 At a clock time of 28 hours and 58 minutes, it’s the longest duration of time that I’ve ever been in continuous forward motion.
🔥 And finally – it makes me a 2023 finisher of the Pennsylvania Triple Crown of Mountain Running!


The Worlds End 100k didn’t inflict too much damage on my body or mind, and I was fortunate enough to be able to resume training after only 5 days of rest and yoga.

Race reports for Eastern States consistently bemoan the three H’s: heat, humidity, and hills. Heat and humidity are an achilles heel for me since most of my training takes place in the early morning. Hills were within my control, so they became my obsession.

My work and life commitments make it difficult to train at high volumes – my average week this year (including races) is under 40 miles. If I don’t get out the door by 6am, it’s almost a guarantee that the day is lost. Acknowledging this reality, I set out to become an ultra hiking freak. If my mileage was going to be low, what I could get in was going to be efficient.

Between Worlds End and Eastern States, I logged over 80,000 feet of elevation in 42 runs, with a peak of 10,000 feet in one run and 20,000 feet in one calendar week. The majority of that was from doing hill repeats on a segment that I’ve named Death March, which delivers over 500 feet of ascent in about 1 kilometer. I took the idea of aggressively hiking uphill and carefully running downhill to an extreme, on trails that are comparable to the race course, in every weather condition available. It lacked variety, but 2-4 hours of hill repeats are excellent mental conditioning for a race that is essentially 24-36 hours of hill repeats.

Regardless of what that training routine might indicate, I’m not superhuman; just one of these workouts drains my legs. In order to maintain this cadence, yoga became a daily requirement – augmented with some form of myofascial release (foam rolling, Theragun, Psorite) every other day. I also threw in burpees 1-2 days per week for some basic strength training. The time investment in non-running activities eventually matched the running.

Finally, I gave up alcohol for most of the summer leading up to race day. I don’t drink much in the first place, but wanted every advantage possible. Fortunately Corona NA happens to be very close to the real deal, so it didn’t feel like much of a sacrifice.

As race day inched closer, my last DNF started to haunt me. Am I ready for this? I told anyone who would listen that I was going to run 103 miles, and I’d have to report back. I committed several hundred hours to training, and became financially and emotionally invested along the way.

An infinite number of things can and will go wrong on race day. Maybe there is no such thing as ready for a race that has a ~50% finish rate.


I drove out the day before with my old man. We checked in to the hotel in Williamsport (about a 40 minute drive from the race), did the drive to go pick up my bib, had a sweet pre-race headshot taken by Kaptivate Photography, said hello to a few familiar faces, then talked strategy on the way back.

The race day plan was simple: my dad would drive me out to the race, leave to go fishing and enjoy the day, then return sometime Sunday morning based on what the live race tracker was projecting for my finish time. This was a very nice race perk – family and friends back home could see how my day was going, and my dad would have an idea of when to meet me at the finish, since absent a life-threatening emergency, there would be no way for me to communicate with him during the race. My base case was 30 hours, but the window of reality was anywhere from 24 hours to 36 hours.

Crewing on a single-loop trail course is complicated, and the logistics of getting my dad to remote aid stations with no cell phone service and no way of knowing when I would show up was an uncertainty that I didn’t want to add to the day. So I opted to rely only on the 15 aid stations, with my own drop bags that could be sent to 5 of them. No crew, no pacers, no spectators – just me vs. the race.

The upside to this plan was that I had virtually no option to talk myself out of the race, no matter how difficult things got. Sure, I could quit at an aid station, and they could eventually return me back to the starting line, but I would have nowhere to go from there until my dad showed up Sunday morning. On the other hand, I could also get injured and legitimately need to drop out, and I’d be in the same situation. It was worth the risk.

Weather conditions were shaping up to be good, but not great. High 50s in the night hours (cool enough to comfortably wear a long-sleeve shirt) and low 80s at the peak of each day (90s is typical for this time of the year). Very high humidity, as expected. And a forecast for some kind of late afternoon band of thunderstorms, which in the previous few weeks had materialized as anything from wind and a dash of rain to torrential downpour and tornadoes.

My starting outfit was what I would take out for any long trail run in August: Baleaf running shorts, a UA tech tank, UA OTC socks, a race hat, my KEYS100 buff, and a brand new pair of the latest Topo Mtn Racer. My blister prevention strategy (which failed – more on that later) is to coat my feet in Vaseline before putting socks on.

The rest of the gear for the day: Salomon Advanced Skin 12L vest (modified to remove the unnecessary straps that swing around while running), a 2L bladder for water, 2x 500ml flasks for Tailwind or extra water, an old headlamp for the first 1-2 hours, a mandatory emergency blanket, 2Toms anti-chafe protection, ibuprofen and acetaminophen, a roll of TUMS, electrolyte chews and tabs, a few squares of TP, an mp3 player and earbuds, a few liquid IV packets, my phone, and a round of Maurten Solid 225 and non-caffeinated Gel 100 for the first few segments.

A lot of people bring trekking poles to a race like Eastern States. I’m a minimalist, and I don’t train with poles, so I certainly don’t race with them.

My drop bag contents were a bit of a guess, but since the aid station supplies are so comprehensive for this race, I packed only the essentials based on when I expected to reach each bag drop point:
👉 Lower Pine Bottom (17.8 mi): Another round of Maurten Solid 225 and non-caffeinated Gel 100.
👉 Hyner Run (43.2 mi): Another round of Maurten Solid 225 and non-caffeinated Gel 100, Vaseline, a fresh hat/buff, and a headlamp/waistlamp (+ extra batteries) for the dark hours.
👉 Tomb Flats (62.9mi): Another round of Maurten Solid 225 and caffeinated Gel 100, Vaseline, fresh socks/shorts, and a long sleeve shirt for the coldest part of the night.
👉 Blackwell (80.5 mi): Another round of Maurten Solid 225 and caffeinated Gel 100, Vaseline, a fresh hat/buff, and a fresh tech tank for the heat of the next day.
👉 Barrens (93.1 mi): Another round of Maurten Solid 225 and caffeinated Gel 100. Just in case.

For better or worse, I follow the “eat to hunger, drink to thirst” rule with a bit of proactive intuition layered in (“It’s been an hour since I last ate, so I need to eat something” or “I need to finish these two flasks of liquid before the next aid station so I can refill them”). There was no science to the calories that I packed beyond the fact that I’ve had positive, reliable experiences with Maurten this year.

In the event that I needed data about the course during the race, the images below were loaded on my phone. I didn’t preload the route to my watch because I was unsure about battery longevity. On a positive note, tracking with a Forerunner 955 Solar in UltraTrac mode, there was 56% battery remaining after the race)

SATURDAY → 03:00

Much like Worlds End, the day started at 3am. The second of 5 alarms got me out of bed. I drank a Maurten Drink Mix 320 on the ride up, because it sat well in my stomach at Worlds End and I’m a creature of known good habits.

I checked in, delivered my drop bags, downed a pancake with syrup and a half cup of coffee, did one last full gear check, greased up the areas that are prone to chafe in the heat, and then headed to the start line. I was hoping to see my fellow runners Pat, Tim, and Matt, but it was too dark and there were too many people. “I don’t want to see you until tomorrow.” were my parting words to my dad. And then it was go time.

As the race got underway, I mentally reviewed the principles that I wanted to adhere to:
✔ Keep the phone powered off in case I ended up in a situation where I really needed it.
✔ Avoid looking at the watch to check mileage. Per-mile notifications were disabled.
✔ Maintain a heart rate at or below 150, except on the big climbs.
✔ No caffeine, painkillers, or music for as long as possible.
✔ Get in and out of aid stations as quickly as possible.

The opening 1-2 miles were the standard “wide, flat, easy roads until the traffic jam at the consolidation onto single trail.” Everyone around me was going out fast to land a good spot in the conga line, because you’ll be stuck there for at least the first 1-2 miles of trail. I reminded myself of how strong I felt late in the race at Worlds End, passing other runners with ease. If I was feeling competitive, I would have literally all day, and all night, and at least some of the next day to scratch that itch. Now wasn’t the time.

Around Mile 5, I heard the banter of Pat, Tim and Matt up above me on a descending switchback. It’s a running joke that I always start ahead of them but they always finish ahead of me. I had to let them know that the start of this race was no different. “Sup y’all!” I belted out loudly to announce myself. “You’re going to have to work to catch me today!” came next as I barreled down the rest of the switchback, tossing the idea of an easy start.

Things were good until Mile 8-ish, where I tripped on a rock and faceplanted, smashed my right knee into the ground. My foot popped right out of the shoe, and the shoe was still lodged under the rock. This was the first sign of the biggest mistake of the day – taking a brand new pair of shoes to a race. There’s a break-in period where the upper stretches out, hot spots come and go, and things just get a bit loose as the shoes accumulate miles. Eastern States ended up being the break-in period for my new shoes, and my feet suffered the consequences.

There was no race-impacting damage from the fall, but it was a prudent reminder to keep my eyes focused on the ground 2 feet in front of me at all times. So I did, shuffling through the next 25 miles or so at a steady pace. The course is scenic and the terrain varied, but the minutia is a blur. What I do remember is how challenging the first third of the race is – every segment has huge swings in elevation, including one segment that’s almost 6 miles of continuous uphill. I stuck to the plan: aggressively hike the uphills, carefully run the downhills, consistently shuffle the flats. All aspects of nutrition and hydration and my general well-being were in acceptable ranges.

Saturday morning and afternoon is when my race intersected with most of the photographers. I couldn’t guess the exact locations or times, so without further ado, a big thank you to the professionals below who dedicated their time and efforts to capturing these memories.

Morning shuffle photos by Emily Shaffer.

Bridge photo by Jennifer Kamienski.

Floating down a mountain photo by Lisa DeNardo Photography.

Afternoon shuffle photo by Emily Shaffer.

And a random sighting by Tim’s family at one of the crew stops – thanks Lindsay!


The middle third of the race offered new conditions. With the afternoon came the peak heat of the day. My legs were feeling a little heavy and my mind was expecting its normal dose of afternoon caffeine, but I didn’t have any issues directly related to the heat.

There was a section of the course where the trail winds along one of the many tributary creeks in the gorge, crossing it back and forth. Typically these crossings have an option to tip toe on rocks and avoid getting wet feet. Not here, not today. Wet feet were inevitable, so I stomped back and forth across the creek to not lose time. The cold water provided some temporary relief to my aching feet, and I stopped a few times to dip my hat in the creek so I could also cool my head down. But soaking wet feet increase the potential for blisters, and this would catch up to me later in the race.

I reached the Hyner Run aid station well ahead of schedule, which was good – my headlamp and waistlamp were in that drop bag. I feared not making it there before dark, or making it there but my bag not making it there, so much that I wore my morning headlamp all day as a fallback. Murphy’s Law…

At some point later in the afternoon, that band of thunderstorms showed up. Much of the course is covered in trees, so it wasn’t always easy to see up – but the ominous dark sky was obvious.

At that time, I was sharing miles with Max, a Ukrainian (we had much to talk about given my job). Thunder started to rumble in the distance; then flashes of lightning. “10 miles.” he mumbled at one point. “10 miles to the next aid station? I think it’s less.” I said. “No. The aid station is in 2 miles. The storm is 10 miles away from us.” he quipped back. He was counting the seconds between lightning and thunder. Not a bad way to pass the time.

The lightning and thunder eventually turned to rain – A LOT of rain. It rained for somewhere between 3-5 hours. The trail turned into a muddy slip and slide. I wished that I had the poncho that I packed, then unpacked, then packed, then unpacked on Friday. Wetness aside, the hill repeat training really paid off here. I had the confidence and ability to coast down very muddy, steep descents. The ascents were a non-issue. I actually found the experience to be surreal – in the middle of nowhere, getting slapped around by the weather gods, just running. That area of PA was apparently under a tornado watch at the time!

The downside to the rain is that it saturated my vest, bringing soreness to my shoulders and back from the extra weight. Some quick thinking led me to reverse the vest on the uphills so it was on the front of my body. Problem, meet solution.

Two problems that I couldn’t fix so easily – my feet had been waterlogged for hours now and I could feel the blisters forming, and the wet shorts were chafing my inner thighs. I knew from past experience that both problems had already advanced beyond the stage where they could be eliminated. Damage control was the only option.

The timing of the Tomb Flats aid station couldn’t have been better. The rain stopped, the issues that were going to haunt me until Mile 103 were known, and I could take a few minutes (or more) to start mitigation. I just had to tether up and take a stroll through Pine Creek to the aid station waiting on the other side.

A water crossing seemed like it would add a novel element to the race, and initially it did. I laughed through the beginning. Then the water got deeper, and current got faster, and the slippery creek bed provided little stability. The areas of my thighs that chafed the most lit up in the water, and the novelty had worn off.

Lisa DeNardo Photography caught the exact “I’m over this – just get me to the other side” moment.

I parked my tired, wet, chafed bag of bones on a chair at Tomb Flats for about 15 minutes; it was the only aid station where I needed to sit down. I was fatigued. The first order of business was a change of socks and a fresh layer of Vaseline. As I peeled my socks off, what I saw wasn’t good – extreme maceration (imagine the wrinkly feet that you get from spending too much time in water, but far worse), blisters on both of my forefeet, and open wounds on both of my ankles from where my shoes had rubbed all day.

There were at least another 10-12 hours to the finish. I’ve suffered through worse conditions for longer, so I quickly accepted what was coming. I put as much Vaseline as possible on my feet and thighs, then pulled the new socks on and changed into fresh shorts and a long sleeve shirt for the night. Not wanting to lose more time, I topped off on liquids and started walking into the longest segment of the course (9.8 miles), which starts with a 1,600 foot ascent and ends with a 1,400 foot descent. On the other side of that segment, there would only be 50k to go.


That 1,600 foot climb out of Tomb Flats damn near broke me. It was past my bedtime. My circadian rhythm was pushing my body to sleep, and my eyelids became super heavy. Nausea set in. It was hard to make forward progress for more than a few minutes at a time before I would be physically spent. I stopped multiple times to double over and allow my eyes to close, and even contemplated laying down for a quick nap.

Then it hit me – I didn’t eat enough (or anything?) at Tomb Flats. Fuck. I was in a calorie deficit on an uphill, and it was crashing me. I sat down on a rock and took off my vest. Drank some tailwind, had a TUMS, forced calories down my throat, and reminded myself that I hadn’t had a drop of caffeine yet. I pulled out the mp3 player for the first time, put on Airdrawndagger to stabilize my mood, and resumed the death march. By the top of the climb, that low had mostly passed.

What happened between then and the Blackwell aid station at Mile 80.5 is a haze. According to my watch, I maintained a decent pace. A few random things that I can recall…

👉 There was a group of young-ish kids who were out on the trail for a hike, at what had to have been a remote location, in what had to have been the middle of the night. Did I imagine them?
👉 Changing headlamp batteries was a monumental effort. I was attempting to do it using the light from my waistlamp, while also maintaining a shuffle, and the hand-eye-foot coordination just wasn’t there.
👉 I turned my lights off a few times (don’t ask why – it seemed like a good idea) and discovered the ultimate sensory deprivation experience. The tree canopy shielded all light from the sky, and there was no sound from crickets or a stream. It was literal blackness; like existing in a vacuum.
👉 Sleep deprivation played a few headgames with me. The headlamps of runners who were right in front of me would seem to be miles away. Reflectors on the trail markers were not where they appeared to be. Knowing that I was misperceiving things was the weirdest part.

SUNDAY 04:00

The Blackwell aid station is where things going sideways peaked. “The trail is on the right, don’t miss it” someone said as I left the aid station. They must have said that because of how poorly the turn was flagged for how delusional the average runner is at this stage. I ended up doing two out and backs, asking again where exactly the turn on the right was, before I stumbled upon it and continued. Less than a mile later, I got lost again – taking a left instead of a right at a carriage trail crossing. My sense of direction is good, so when there wasn’t a trail marker after several minutes, it was time to start backtracking. The night was catching up to me – I needed to start caffeinating and get my shit together.

Caffeine pushed me through the last few hours of the night, though I have no recollection of what transpired. By the time Sunday morning arrived, the damage was done to my feet and thighs. I continued to mitigate the pain as much as possible, but the end was still several hours away. I tightened my shoes to minimize friction and applied Vaseline to my thighs at each aid station. I even threw in a low dose of painkillers to attempt to numb the pain, but all relief was temporary.

Every placement of a foot lit up a blister on my forefoot and an open wound on my ankle. Every swing of a leg aggravated the chafing. Mitigation had reached a point of diminishing returns, and comfort-seeking was a trap. I accepted the reality that I would be broken for weeks after this race. But the homestretch had arrived, and that buckle was a sure thing.

Mike McNeil climbed to the top of the final descent on Panther Run to take photos. This is my favorite of the entire race.

That descent put the finishing moves on three toenails. It was steep but very short, and the echoing sounds of the finish line provided one last dose of adrenaline.

SUNDAY 10:58

The final stretch of the race came full circle to a wide, flat, easy run across the finish line. Another very nice race perk was a livestream of the finish, so that family and friends could virtually share that moment. The exact time that I shuffled across the line is below. It’s comical to watch, because inside my head I was in an all-out sprint – but in reality I was barely moving forward in a straight line.

The feeling of crossing that finish line and being handed a buckle from the Race Director is impossible to describe. It was over. I did it. I broke my DNF streak and ran 100 miles for the 5th time.

There was a nice post-race spread of food and New Trail beer, but after 29 hours of continuous eating and drinking, the thought of eating and drinking disgusted me. I hobbled to my dad’s truck and we started the drive back to civilization. I was in and out of consciousness (and extreme bouts of pain) for the entire ride. My biggest fans who had watched me finish on the livestream were waiting at home.


Few life experiences provide an opportunity to discover so much about oneself in such a short period of time. A 100 mile race is at the top of that list in my book. And Eastern States is at the forefront of that category.

The community that supports this race is second to none. It’s governed by the Eastern States Trail Endurance Alliance, and draws hundreds of volunteers (including many former finishers) to make race weekend a success. I believe there was a ratio of 2 volunteers to each participant (not counting crews, spectators, and pacers). That’s an incredible statistic that shows how much time and effort are required to make an event of this magnitude happen.

Every volunteer that I interacted with at every aid station was positive, knowledgeable, and ready to help. In most cases, multiple people would be assisting me at the same time. Getting drop-bags was a fast, painless experience. The volunteer photographers were a pleasant surprise. This energy is a reflection of the race and its community. Simply put, it’s a world-class event.

The course is as intimidating as it sounds. It’s beautiful, but this is Rocksylvania. Ankles will roll. Anyone who has completed the Hyner 50k, Call of the Wilds 50k, or Black Forest 100k races has had a taste of the Eastern States course. The three H’s (heat, humidity, hills) are indeed the dominant traits of the weekend.

I signed up for Eastern States on the day that I turned 40, and spent the next 9 months training and planning out the logistics. It’s been a hell of a journey to get into the elite-but-obscure PA Triple Crown club.

Execution was on point, and the training was surprisingly adequate. I was expecting a more painful experience. But I worked my ass off, and I was happy to never be in a position where I was competing with the cutoff time.

At the end of the day, I’m satisfied with the outcome. My feet will eventually recover.

Strava Link | Garmin Link


Some wisdom for my future self when I’m attempting my next 100 mile race, whenever that may be…

👍 Looking back at Hyner (50k), Worlds End (100k), and Eastern States – all trail ultramarathons with high net elevation gain – the longer the total distance, the more effective hill repeats were as a primary training method vs. horizontal mileage.
👍 Having both a 2L bladder and a pair of 500ml flasks ensured that I never ran out of liquids between aid stations, and helped to minimize aid station time. I only had to refill the 2L bladder (a more time consuming task) twice, while the flasks could be quickly topped off at each aid station. Having the flasks also allowed me to incorporate a steady intake of Tailwind from the aid stations.
👍 Instead of quickly forcing food down at the aid stations, walking away with an entire cup of food allowed me to spread the calories out over time and not overload my stomach.
👍 Deferring caffeine and painkillers as long as possible into the race was a more difficult path, but the direct connection to my natural mood and energy was worth it.
👍 Consider me a brand ambassador for Maurten. The flavors are monotonous, but the simplicity of the options makes decision-making easy during the race.
👍 Avoiding technology (checking mileage on the watch, time on the phone, taking pictures) made the race go faster, because I had no concept of time or distance to mentally anchor on.
👍 Yoga + myofascial release + burpees are the ultimate form of minimalist “cross-training”.

👎 Never wear a brand new pair of shoes on race day again. Break them in first. Get the tightness of the lacing dialed in.
👎 Traditional running shorts aren’t effective in races that are in high-humidity timeframes/climates. Experiment with a base layer or shorts designed to minimize chafing.


Counting from race day, it’s 50 days until the Black Forest Ultra, the final leg of the Blacklist: “Dedicated to those who can complete the PA Triple Crown of Mountain Running + the Black Forest Ultra 100k in a single season.”

The Blacklist has been my North Star for the year. It’s become such a fundamental part of my existence that I’m fearful of what lies on the other side of it.

But first – this race:
😮 A 12:01am start time.
😮 No crews, no pacers, no spectators.
😮 8-13 miles (2-4 hours) in between aid stations.
😮 64 miles and 13,600 feet of net elevation gain.

There were only 24 finishers last year. This is arguably more of a survival run than it is a race.