top of page

Race Director Event Recap: Portland Bridge Swim 2026

Last weekend, the chaos of the Portland Bridge Swim ensued, and I'm now writing my memoir from beyond the grave, as it's entirely possible I died from pre-event panic and during-event mini-heart attacks.


By the way, check out the most incredible event photos from Veronica at Statz Photography: https://statzphotography.pixieset.com/portlandbridgeswim/


As background, this is my first year as the solo event director for PBS. The past two years, I was a co-race director with Marisa, the OG magician behind Portland Bridge Swim. She started PBS in 2011, and has grown it into what it is today. I inherited an established event; PBS is overseen by a board of directors through the non-profit org of Portland Bridge Swim. (The non-profit was founded to be eligible to host the swim, and having it be the event arm of the non-profit helps us work with the city, vendors, and donors.)


When I took over the event last year, I had a lot of ideas and open questions that mostly started with "We should do it like..." and "Why can't we just...". Marisa and I had dinner in the fall, and she warned me that although the event was mine to direct, in most cases, there was already a very good reason why things were done the way they were, and to learn from her mistakes. I inherited a project plan, to-do lists, and a full google drive of documentation to help me each step of the way.


One of the checklist items was to rent a U-Haul on Saturday morning to load out the storage unit. The truck rental was in the parking lot/general area as our storage unit, so I didn't get the opportunity to notice whether the essential amenities of the truck, like brakes, were working. A group of us strategically loaded the truck so the Packet Pickup gear and totes were at the back of the truck, then all the gear for the starting line, then the finish line totes/equipment close to the cab. We fit all this stuff into the U-Haul like were competing in a Tetris tournament, because there's quite a bit of voluminous gear and despite it going from a 10x15 ft storage unit into a 25 ft truck, we were still cramped for space.


Once every single item was meticulously loaded, I attempted to close the back of the truck, and discovered it was an absolute pain to close - 2 people had to dangle off it and then push the door down for the latch to fully engage. And, the lock that was available to secure the door to the frame of the truck didn't have a key. Oh well - we can deal with all that. I start driving the truck home to get water and ice loaded and discover (dun dun dun!) the truck has about 1% of the braking power we need with all the weight in this truck.


One of the other historical aspects I was eager to change was the pre-race dinner. I had (and continue to have) a vision of the swim creating a tight knit community for open water swimmers and crew. I remember the pre-race dinners from other events and have really fond memories of meeting people I would never have had the opportunity to interact with while participating in the event. So, my goal became to host a dinner that had a higher seat count to allow inviting swimmers, paddlers, and volunteers. In the past, we had the pre-race dinner at the Spaghetti Factory, overlooking the river. I decided to move the pre-race dinner to an inexpensive location with larger capacity and catering it to give us a space to be rowdy, jump in the water, and enjoy the outdoors. After a lot of phone calls and reality checks, I realized that no business could effectively host us with our budget, and I ended up booking the Willamette Park Picnic Shelter in SW Portland. Given we were paying to book it for the full day, I opted to have packet pickup there as well. Packet Pickup would be from 2:30-4:30 PM, then we'd pack everything up, have food delivered by a volunteer, and serve dinner buffet style from 5-7 PM.


So, back to post-truck-brakes issue discovery: this plan required me getting the loaded U-Haul to Willamette Park around noon to prepare for all the nervous swimmers to swarm right at 2:30 PM (because we all know that swimmer are overachievers and you don't want to be late to anything because coach will make you do 20 push ups for every minute you're late to practice, and you've taken that fear/skill into your adult life). Sam and I white knuckled it from Beaverton to the SW waterfront, screaming on the downhills as this truck required at least 2 full city blocks to even slow down. A bit of our meticulous organization went flying as we careened down some of the SW hills, and I could hear totes and other items crashing around in the back.


We arrived at Willamette Park unscathed, but we felt like we were in the bus in Speed - no brakes, just nervous vibes. But the show must go on! We unloaded the truck and set up the picnic shelter to have an assembly line for swimmers to pass through, and everything seemed to go pretty smoothly. The catering was picked up and delivered by Steve, one of our kayakers, and at 5 PM, we had a pretty large crowd chowing down. We had music, drinks, and bellies full of delicious food. I got to speak to boaters and other volunteers, swimmers, and paddlers, many of whom weren't local to Portland. Seeing everyone having a good time made the harrowing U-Haul experience worth it.


In getting to mingle with the swimmers and paddlers, I learned that one of the participants had been prevented from participating in other open water events because she is deaf. She said she hadn't heard of another swim not only being willing to host a deaf swimmer, but also include ASL interpreters for the event. [If you're a race director who doesn't allow deaf swimmers, please email me so we can discuss how that can change. Our open water swimming community needs to do better to be inclusive, and I'm happy to share our safety practices so we can all do better.]


After we packed everything up, I ***very slowly*** drove the cursed U-Haul home, hopped in my car, and had to go "oopsy, I forgot all these things" shopping. By the time I got home and loaded the rest of the race-day food and stuffs into the U-Haul, it was nearly 9 PM. I decided to spend another hour rewatching our timing system tutorials, printing random signs, and frantically going through every piece of data I could because there was a teeny bit of panic.


I ended up hitting the hay around 10 PM, and woke up before my alarm at 3 AM, so I felt suuuper duper well rested... but adrenaline kicked in when I walked out to the U-Haul. Sam and I white knuckled it down to Sellwood to open the gate for the portapotties to be dropped off at 4 AM.


So, another tidbit of background here: just a few days before, a parks employee called me with an ominous warning that the key destined for me to pick up (based on my permit documents he was reading through) was not the key that would open the lock at Sellwood Park. Because of a shooting the month prior, the park had changed the locks/keys and was taking closing the gate very seriously. If I grabbed the key the paperwork had listed, it would leave me sitting outside a locked gate on race morning. So he and I both called the main office and tried to explain the key situation, seemingly to no avail. I received a call back stating I'd be getting the key listed on the paperwork, tough titties. Finally, the afternoon before I was supposed to pick up the keys, I got a voicemail saying they'd check both keys out to me, provided I paid an additional deposit for the second key. PHEW - can you imagine getting to the race venue and being locked out at 4 AM?


Thankfully, the key I fought to get worked (the one from the paperwork did not), and we managed to get the gate open and the truck into the park. Driving up the park path, hitting branches, we started to smell... smoke?


Yep folks, parking the truck by the dock ramp, we hopped out of the car and heard lot of very drunk people carrying on and saw the massive bonfire, which was directly on the beach where paddlers would be staging their kayaks in just an hour or two. Excellent.


Trying to be a friendly buddy bro dude, I walked over to chat with the group of very drunk guys. One of the patrons immediately left, not wanting to get in trouble. I explained we had a permit to run an event off the beach, and that they'd need to put out their fire so our participants wouldn't be walking on hot coals. Their response, "Nah Karen, they can come have a beer with us, but we're not leaving."


Oh jolly good. After 3 attempts to get them to leave (the first person who left actually dumped water on the fire in an attempt to get the entire group to leave, but they built the fire back up and even bigger), I finally started calling the police around 4:30 AM. Between all this inebriated back-and-forth, I'm also trying to unload the truck with Sam AND I'm seeing the irrigation system and sprinklers haven't been turned off, so they're flooding different spots in the park, migrating their watering areas every 15 minutes or so.


So, now I'm on hold with 911 (I had tried the non-emergency line but gave up after being on hold for 20 mins) for 25 mins. Sam is calling the number I have for the Sellwood Park team about the sprinklers. We're juggling totes. I'm walking back and forth warning the drunk idiots that the cops are on their way and that they better leave quick before they get in trouble. The yelling is escalating. I'm still on hold with 911 - no one is picking up. The sprinklers are still flooding the park. It's ironic that there's too much water on the grass where we don't want it, and if just one sprinkler could get pointed at the drunk jerks, the fire would be out and they'd leave.


I have to admit, this is where I started to lose my shit. I finally get through to 911 dispatch, and they tell me they will see if they can send anyone out, but it's unlikely. They'll try to send a fire truck to help put out the fire. (EYE ROLL - I have 3 buckets and can put a fire out myself... it's the bros being assholes, yelling at me and refusing to leave is what I need some sort of backup for). 10 minutes later, the fire department arrives, and I try to calmly explain that I'm trying to set up for a permitted event that partially takes place on the beach where there's currently an illegal fire happening on (there's a state-wide burn ban) with a bunch of super drunk people having a beer fest. They tell me to calm down, and that they'll put out the fire but can't do anything else. I ask them if they can mitigate the hot coals, and they instruct me to "kick the coals into the water". How should I do that, exactly, surrounded by a bunch of very drunk people who aren't too keen on my company? Not the fire department's problem, they announce, and leave.


It's coming up to 5:15 AM - the sprinklers are still on - the busses of participants is due to arrive soon, the kayaks are getting delivered imminently, there's drunk people wandering around the truck calling me a Karen, and the portapotties haven't arrived yet. But, the sun is coming up, and with more and more volunteers arriving, I'm feeling better about these tiny disasters. Volunteers put buckets on the sprinklers, douse the fire, and finish setting everything up. Kayaks are delivered. Toilets arrive.



Another aspect of the race I added was the pre-race shuttles. Marisa had warned me that there was a pretty big risk adding an event shuttle before the race because if anything happened, like the shuttle got lost or broke down, we'd have a huge chunk of participants late or missing. I booked the shuttles anyway, thinking that providing a way to stage cars at the finish line would be a big bonus for the participants. And my plan seemed to be working; the first swimmer shuttle arrived in Sellwood at 5:34 AM. I figured the second shuttle would be coming a minute or two after. After waiting a few minutes, I started to worry that the second shuttle had gotten lost or broken down. At around 5:45 AM, a Blue Star shuttle drove past Sellwood Park headed towards Oaks Bottom Amusement Park. Seeing the shuttle fly by, I called the bus company in a panic. Because I had been at Sellwood setting up since 4 AM, I had assumed that we'd be getting 2 shuttles of swimmers and paddlers between 5:30-5:45 AM, and the first shuttle would return to Cathedral for the smaller pack of volunteers for a 6 AM trip. From what I saw, only 1 shuttle arrived in Sellwood Park and dropped folks off. Marisa's worst fears had come to pass - there was now an unknown number of people trapped on a bus going full speed to a totally different location.


The bus company called me back and explained that the second shuttle had been given a different location to dispatch to, a totally different park and route. I tried to explain that I believed the second shuttle missed stopping at Sellwood (I think I was BELLOWING at this point), and I even sent a volunteer in his car to try to find them and get them back to the right area. A few calls later, we finally got clarity - no one had boarded the second 5 AM shuttle, so it was dispatched elsewhere.


For a few minutes, I truly believed I was going to jail for arranging a mass kidnapping. Crisis averted - back to the race.


As I'm writing this, I realize I'm giving a lot of relatively boring context for all the little papercuts - and we haven't even gotten to the actual race recap. If you've read this far, I apologize, it's about to get good here in a second. But I felt like I needed to lay the groundwork to explain that I had used up almost all of my sanity and coping skills already, and we hadn't even started with the pre-race safety meeting. I also feel like this is a strangely accurate depiction of the responsibilities of a race director. We don't always get to welcome swimmers, enjoy a sip of coffee, and take a deep breath of fresh air. Sometimes, it's chaos on a cracker, with a spread of bitter ash from that stupid bonfire.


I started off the safety meeting like any other safety meeting (albeit, with an ASL interpreter next to me, which was really cool), providing some reminders and our safety director's phone number. Then, as per the script I had written for myself, I asked all of the swimmers and paddlers to take some vows by holding up their right hands and repeating each statement after me.



Here are our vows we all took:


All swimmers, raise your right hands and repeat after me:

I will jump off the dock feet-first

I will stay on the east side of the river

I will stay within 15 feet of my paddler

I will follow my paddler’s instructions

I will listen to the volunteers on the water

I will not die


Alrighty - now paddlers, raise your right hands

I will stay on the east side of the river

I will wear my PFD at all times

I will do my best not to pee in the rental kayak

I will follow all safety crew instructions

I will not die


After the safety meeting, we got our stuff together and prepared to get Wave 1 paddlers onto the water and swimmers onto the dock.



Up until this point, I had been slighly nervous about the very new, partially untested timing system - the test I ran from the comfort of my home simulated the bib numbers with a start and a finish time entry, but I didn't test the full integration in the river running on a hot spot from my phone with refurbished ipads. Here's a photo of me reverting to my phone and stop watches as backups just in case:



We were able to start each wave right on time at 7:20, 7:30, 7:40, and 7:50 AM. Each wave jumped forward off the dock feet first (as they had vowed) and swam against the course to swim under their first bridge. They aimed for the first wet pylon and were off!




Because it was a cold morning and the sprinklers had doused the park (and some of the participants and volunteers), most of the swimmers were already damp in some way and pretty cold. As each wave waited their turn, you could see some fun party dancing to keep warm and energized.




As soon as Wave 4 had departed, I headed back up the ramp to see the wonderful land volunteers had already packed everything up and loaded it back into the U-Haul - what an incredible relief to have a team that can already anticipate the plan without you. This might be a sign that the team doesn't even need me anymore, and I can retire to a beach in Cabo?


With Sam the Safety Director on one of the power boats, another volunteer hopped into the U-Haul with me. As soon as I shut the door and started driving out of the park, a moth the size of a medium bird flew out of the dash. I immediately parked the truck and got out, ready to walk to Cathedral Park, but Magda saved the day, just scooping the moth by hand and tossing it out of the cab. I can handle illegal bonfires, drunk bros, being called a Karen 500 times before 5 AM, determined irrigation systems, missing shuttles, and chilly mornings... but do not ask me to be calm when MOTHMAN attacks in a U-Haul without brakes.


Back on track, I attempt to drive the truck with my race radio on so I can listen in on the boat/swimmer drama. I start to hear that a swimmer felt hypothermic, was already pulled onto a boat, and transported to meet EMS at the OMSI dock. As soon as I parked at Cathedral, I started pulling all of the swimmer's gear check bags to see if I had anything that the pulled swimmer might need. Thankfully, they hadn't checked any gear, but I realized that we didn't have a great way to transport gear to anyone pulled to EMS mid-course. Something to address for 2027.


We unloaded and volunteers started coming in, so I focused on setting up the finish line area while other folks set up merch, gear check, food, and awards tables in the grassy festivities area. Because I had gotten in to tie the turn buoy to one of the wooden beams, I had gotten wet, and ended up remaining wet for the remainder of the event without realizing it. We had some really speedy swimmers, and we had just finished getting everything ready at the finish line when we heard the lead swimmer was approaching the last mile. We set up the announcer system, and spectators headed down to the water.



As I previously mentioned, I had already been nervous about our timing system. We had 5 backup stop watches, plus the knowledge that we had started each wave exactly at specific clock times that we could calculate durations from. But, I had really hoped that our RunSignUp registration system would pass the participant data (with corresponding wave info) to Race Director/Race Day Suite and as we'd finish each participant's time, the online scoring system would automatically score and post results.



Jon was the first finisher, and we were able to capture his time through this complex web of integrated apps on our iPads. Then, the entire timing system stopped working. Well, back to stop watches + clock times for us!


The remainder of the race, I didn't get to see a single swimmer finish. I sat at a table by the merch area, focused on my computer, virtually collaborating with the timing volunteers to create a results spreadsheet while trying to troubleshoot the timing system and while monitoring the GPS coordinates of swimmers using RaceJoy tracking. I sat at the awards table, juggling answering questions, hoping to repair the timing software, and managing a very manual spreadsheet for hours. Wonderful volunteers checked in on me, brought me water and food, and I didn't get to spectate or speak with the finishing swimmers until after I had announced top finisher awards at 2 PM. I think my brain had stopped working somewhere in this timeframe, because I had erroneously sorted my spreadsheet by finisher clock time, rather than duration, to calculate the winners of awards, leading to several discrepancies. If you're a 2026 PBS swimmer reading this, I'm really sorry - by 2 PM, my cognitive abilities had plummeted... which is why I had so looked forward to having an automatic scoring and results system in the first place!




As the last swimmers were headed into the finish, I heard there was a fire being reported over the race radios. A SECOND FIRE? We started the day with a fire - are we now finishing the race with a fire at the finish line? Yep, we sure are. Just south of Cathedral park, Sam and the safety crew was calling the fire department for a beach brush fire as the final swimmer swam in front of it.



Safety Director Sam made the decision to pull the remaining swimmer onto the jet ski for quick extrication in case the area needed to be completely clear for a Fire Dept boat for wildfire control.



With the last swimmer off the water, we held the raffle, had closing remarks, and started packing up the totes to return all the gear to the storage unit. It seemed like I was in an alternate reality, getting everything back into the truck and leaving no trace of the one of the most grueling endurance events in the PNW after all the preparation and anxiety. Just like that, the event was over.


Oh, except for needing to unload the U-Haul, sort everything back into some semblance of reasonable organization and puzzling it back into the storage unit. Ben, Sam, and I cleaned, sorted, and stacked all the gear until sunset, threw all the trash back into the truck, and I finally got to shower and lay down after eating the most delicious barbecue chicken pizza. Pro Tip: have food delivered after a tough day - not cooking is spectacular.



On Monday morning, bright and early, Sam and I loaded all of the event trash into the truck and headed to the NW Metro Transfer Station for my first time at a city dump! Absolutely a highlight of the event for me, but a note to self to wear shoes that can stand up to garbage juice a little better.


I'm really hoping to continue building on the foundation that the previous race director created. My goals for 2027 and beyond include: 

  • Increasing universal accessibility (continuing to hire ASL interpreters, expanding participation to adaptive and para athletes)

  • Restarting relay options

  • Adding a “half-length” distance PBS

  • Creating a “Portland Open Water” Festival 

    • Additional Saturday events

    • Offering spectator boat viewership/pre-race course tours

  • Expanding educational opportunities about Portland’s waterways, safe adventuring, and ecological preservation


If you're reading this post and thinking, "HOLY CANNOLI, I WANT IN!" - there's plenty to help with! Come join the Fellowship of the Portland Bridge Swim planning team.


Comments


Join our mailing list to receive coupons, product updates, and more!

Thanks for subscribing!

 ©2026 WILD WATERS LLC

  • Youtube
  • Instagram
  • Facebook

WORLDWIDE SHIPPING - IMPORT TARIFFS MAY APPLY

bottom of page