/ / / 

hey tiny.

from up here the streets have started blinking. thousands of you lit up and moving in slow rivers, all going somewhere strange on purpose. i cannot ride a bike. so i watch. this season, that is the whole job.

a long weekend is coming and the city is already letting go of its grip. this is not a fireworks issue. the flag stuff can wait, and it can keep waiting. what i see down there is people handing pastries to strangers on bridges and feeding each other on corners. that is the fourth i get behind. we go deeper next week.

one absurd thing this week: the us air guitar regional championship at dante's, grown adults soloing on instruments that do not exist for a real shot at nationals. it sold out, of course it did, so somewhere a scalper is working the door taking uncouth favors for a seat to watch people play guitars that are not there. i have stopped trying to understand your tiny economy.

the issue is bike-shaped this week. no apology. the standouts are in the main cut, and forty-four of my favorite rides live below.

scroll down.

X X X

[ DOING ]

Summer Free For All Kickoff & Free Lunch + Play Jun 25 at 16:00 Outer SE / Parklane Park | Free [ more ] [ + all ages ] [ ~ outdoors ~ ] the launch of the summer park program with free meals and outdoor games. get a plate.

Happy Valley Garage Sale Jun 25 at 17:00 Outer SE / Happy Valley (Citywide) | Free [ more ] [ shopping ] [ ~ outdoors ~ ] citywide multi-family garage sale sprawled across driveways. pick through the bins.

Poetry & Strings Mini-Fest (Mother Foucault's Fundraiser) Jun 26 at 10:00 Inner SE / Mother Foucault's Bookshop | Donation [ more ] poetry and live strings to benefit an indie bookshop. i am too large to fit through the door so i will listen through the bricks.

Brooklyn Neighborhood Yardsale Jun 27 at 09:00 Brooklyn Neighborhood | Free [ more ] neighborhood-wide yard sale mapping out fifty lawns of junk. walk the blocks.

Art & Craft Outdoor Event Jun 27 at 10:00 Oregon City | Free [ more ] [ shopping ] [ ~ outdoors ~ ] open-air vendor gathering kicking off early. support local hands.

Eastmoreland Garage Sale Jun 27 at 14:00 SE Portland / Eastmoreland (Citywide) | Free [ more ] [ shopping ] [ ~ outdoors ~ ] hundreds of porches selling their discards at once. a massive grid of unwanted things.

2026 US Air Guitar Regional Championship Jun 27 at 14:00 Downtown / Dante's | Sold Out [ more ] competitors shredding invisible instruments for a shot at nationals. watch them sweat.

Family Forest Days Jun 27 at 14:30 NW Portland / Hoyt Arboretum | Free [ more ] [ + all ages ] [ ~ outdoors ~ ] hands-on nature crafts among the trees. i try not to snap the upper branches when i walk through.

Really Free Market Jun 27 at 15:00 NE Portland / Albina Library | Free [ more ] a free swap at the library. take what you need and leave the rest.

Portland Indie Book And Art Fair Jun 27 at 16:00 SE Portland / Honey Latte Cafe | Free [ more ] [ shopping ] [ ~ outdoors ~ ] outdoor fair connecting independent publishers directly with the street. that is the point.

The Right Left Game Jun 27 at 17:00 SE Portland (Laurelhurst Park) | Free [ more ] [ ~ outdoors ~ ] mindfulness walk using directional constraints to explore the city. trust the grid.

White Lotus Summer Market Jun 27 at 19:00 Outer SE / Fubonn Shopping Center | Free [ more ] [ shopping ] [ ~ outdoors ~ ] night market taking over a parking lot with street food and lion dances. the smell of oil floats all the way up to my nose.

Secret Roller Disco Jul 02 at 12:00 Lloyd District / Convention Center Plaza | Free [ more ] [ ~ outdoors ~ ] flash-mob skating overtaking municipal plazas. lace up tight.

[ MAKING ]

Regenerative Sourdough: Baking For A Resilient Food Future Jun 27 at 14:00 Portland (Venue Via Rsvp) | $50.00 [ more ] hands-on bread baking framed around local food systems. knead the dough.

Poetry And Paint: Conversation With A Poet & An Artist Jun 27 at 19:00 Portland / Imperfecta Gallery | Free [ more ] small gallery exhibit exploring motherhood and grief through painting. look closely at the canvas.

Incense Making At Fumi Jun 28 at 10:00 Portland / Fumi | $75-$100 [ more ] blending botanicals into your own scent sticks. the smoke drifts up and gets caught in my hair.

Weaving Lauhala Peahi Fans Jun 28 at 17:00 Portland (Venue Via Rsvp) | $35.00 [ more ] Pacific islander craft session learning to weave traditional hand fans. keep your fingers steady.

Fostering Beneficial Insects Jul 04 at 15:00 SE Portland / Portland Nursery (Division) | Free [ more ] [ ~ outdoors ~ ] a garden class on attracting pollinators and beneficial bugs. let them land on you.

[ SEEING + LISTENING ]

Yakama Nation Willamette Falls Lamprey Celebration Jun 25 at 15:30 Oregon City / Clackamette RV Park | Free [ more ] [ ~ outdoors ~ ] a public ceremony honoring the Pacific lamprey right at the falls. watch the water crash.

Noon Tunes At The Square: Burnt Citrus Jun 25 at 17:00 Downtown / Pioneer Courthouse Square | Free [ more ] [ ~ outdoors ~ ] lunch-hour psych rock bouncing off the downtown brick. find a patch of shade and sit down.

Oregon Midsummer Festival Jun 26 at 10:00 SW Portland / Nordic Northwest | $5-$19.95 [ more ] [ ~ outdoors ~ ] massive solstice celebration with flower crowns and traditional poles. i can see the ribbons twisting from up here.

Kickstand Comedy In The Park Jun 26 at 11:00 Inner SE / Laurelhurst Park | Free [ more ] [ ~ outdoors ~ ] thousands of you spread out on blankets under the Douglas firs. pure community stand-up.

Last Friday Flix (Movie In The Park) Jun 26 at 14:00 Outer SE / Reed's Crossing | Free [ more ] [ ~ outdoors ~ ] an outdoor summer screening on a lawn out east. pack your own snacks.

Arts Of The Mountain Art And Music Festival Jun 27 at 10:00 Silver Lake Grange | Free [ more ] artisans and acoustic music at a historic grange hall near Mount Saint Helens. a long drive but the air is clear.

Oregon Adventure Theatre: The Simple Truth Jun 27 at 12:30 Inner SE / Laurelhurst Park | Free [ more ] [ ~ outdoors ~ ] migrating tragicomedy taking over the public park. i rest my elbows on the tree canopy and watch you wander.

Male Talent Show Jun 27 at 14:00 Colonel Summers Park | Free [ more ] [ ~ outdoors ~ ] local men competing for a highly questionable title in the park. stand back.

Cully Sculpture Walk (Launch) Jun 27 at 15:00 NE Portland / Cully (NE Ainsworth St) | Free [ more ] [ ~ outdoors ~ ] the debut of a permanent outdoor large-scale sculpture exhibition. i walked the route earlier to clear the low-hanging power lines.

Women's History Tour At Lone Fir Jun 27 at 15:00 Inner SE / Lone Fir Cemetery | $0-$10 [ more ] [ ~ outdoors ~ ] a guided walk spotlighting the women buried in the pioneer cemetery. read the stones.

Oak Grove Festival Jun 27 at 16:00 Outer SE / Historic Oak Grove | Free [ more ] [ ~ outdoors ~ ] [ + all ages ] neighborhood street block party with vendors and classic cars. dodge the hot exhaust.

Good In The Hood Multicultural Festival Jun 27 at 17:00 N Portland / Lillis-Albina Park | Free [ more ] [ ~ outdoors ~ ] [ shopping ] a critical preservation of Albina heritage through live music and commerce. go support your neighbors.

Ye Olde Gay Faire Jun 27 at 17:00 N Portland / St. Johns (Old Bank Of America Bldg) | Free [ more ] [ ~ outdoors ~ ] renaissance-flavored queer market in an old bank parking lot. lace up a corset.

Kiddieoke: Karaoke For Kids At Queen Jane Jun 28 at 15:00 Queen Jane Music Studios | Free [ more ] [ + all ages ] an afternoon karaoke party explicitly for those under twelve. i will cover my ears to soften the high notes.

Chamber Music NW: Young Artist Concert Jun 30 at 12:00 N Portland / Shipstad Field (Up) | Free [ more ] [ ~ outdoors ~ ] teenage classical musicians playing solos on a pop-up stage on a university athletic field. pure acoustics.

The People's Joker Jul 02 at 19:00 Tomorrow Theater, 3530 SE Division St. | Free [ more ] a law-breaking comedian forms an anti-comedy troupe. sit in the dark and watch the screen.

Lunchtime Walking Tour: Horrible Homicides & Jail Escapes Jul 03 at 17:00 Vancouver WA / Clark County Courthouse | Free [ more ] [ ~ outdoors ~ ] macabre history walk recounting local jailbreaks. keep your head on a swivel.

[ EATING + DANCING ]

Breakfast On The Bridges Jun 26 Downtown-Eastside / Steel & Blumenauer Bridges | Free [ more ] [ ~ outdoors ~ ] free coffee and pastries served to morning commuters on the pedestrian spans. i check the structural tension before you roll across.

Art In The Garden & Plant Clearance Sale Jun 27 at 10:00 Rhododendron Species Botanical Garden | Free [ more ] [ ~ outdoors ~ ] [ road trip ] rare plants on clearance alongside art and food. dig in the dirt.

All Ages Line Dance Lesson Jun 27 at 11:00 NE Portland / Ponderosa Lounge & Grill | Free [ more ] [ + all ages ] no-experience-needed line dancing at a country roadhouse. keep your boots moving.

Kiss Me Kiss Me Kiss Me (The Cure Tribute) With Constant Debauchery (Depeche Mode Tribute) & Pacific Monkeys (Arctic Monkeys Tribute) Live At Dante's Jul 03 at 20:00 Dante's Inferno: 350 West Burnside Street, Portland, OR, 97209 | $15 [ more ] a very long night of Brit pop and post-punk covers. i can feel the heavy bass through the soles of my boots.

Berry Days! Jul 08 at 15:00 314 NE Birch St, Camas, WA | Free [ more ] a celebration of berries. eat them before they rot.

[ BIKING ]

it is pedalpalooza, the stretch of summer where the city turns into one slow glittering bloodstream, every drop of it going somewhere strange.

i have tried to imagine riding a bike. the picture does not survive. so i do what i am good at and watch you pedal into the weird from up here.

here is the part of the week worth clearing your evenings for. the whole almanac is behind the wall.

thursday june 25

Skeleton Scavenger Hunt Ride June 25 at 18:30 Mississippi Ave plaza [ more ] [ ~ outdoors ~ ] portland has more plastic skeletons per yard than any city i keep an eye on. tonight a pack of you go hunting them by bike. i will keep the official count from up here, and i promise you will miss some.

friday june 26

The Rocky Ride June 26 at 19:00 Salmon Street Springs [ more ] [ ~ outdoors ~ ] fifty years of one man running up some steps, honored by a ride that wants you to montage your way down the waterfront. i can see every one of you scoring your own training sequence in your head. raw eggs optional. i would not.

saturday june 27

Morning Naked Ride June 27 at 08:00 Irving Park [ more ] [ ~ outdoors ~ ] the one morning a year i make a real effort to look at the river instead. you ride bare through the early light and i respect the commitment to the bit. sunscreen. everywhere. i mean it.

sunday june 28

The Silly Goose Ride June 28 at 12:00 Eastbank Esplanade [ more ] [ ~ outdoors ~ ] i do not know what separates a silly goose from a serious one, but a flock of you will settle it along the river. honk when appropriate. you will know.

monday june 29

Poetry Post Pedal June 29 at 18:00 Peninsula Park [ more ] [ ~ outdoors ~ ] verse delivered by bicycle, which is the only honest speed for a poem. the rose garden at peninsula is strong enough that i get it up here, so i will assume the poetry is too.

tuesday june 30

hill killerz lunch hillz June 30 at 12:30 SE 52nd & Harney [ more ] [ ~ outdoors ~ ] your lunch break, except the lunch is hills. you will climb things you did not need to climb and call it a nice time. i watch you suffer, fondly.

wednesday july 1

Bring Out Your Dead Laptops E-Waste Ride July 1 at 14:00 Hawthorne food carts [ more ] [ ~ outdoors ~ ] bring the dead laptops you have been stepping around in the hall closet for a year. it becomes a small parade of grief and old hardware. i have watched you avoid this. today you do not.

thursday july 2

The Health & Friends Ride: Rat-Based Biking July 2 at 19:30 Irving Park [ more ] [ ~ outdoors ~ ] i did not ask what rat-based biking is and i suggest you do not either. show up. let it happen to you.

friday july 3

The Terminator 2 Ride July 3 at 19:00 Laurelhurst Park [ more ] [ ~ outdoors ~ ] they will be back, on bikes, in a park. dress for liquid metal. i will be watching from an altitude you cannot target.

the holiday stretch

if you are one of the lucky tinies with friday off, here is your long weekend handled. i can already see the city loosening up, everyone pretending they will go to bed early before the fourth. you will not.

saturday july 4

4th of The Lie Ride July 4 at 16:00 Laurelhurst Park [ more ] [ ~ outdoors ~ ] a fourth of july ride more interested in the asterisks than the fireworks. you pedal through the parts of the story that never make the bunting. i have a long memory and i appreciate a ride that reads the footnotes.

The Jolene Ride (Dolly Parton's America) July 4 at 19:00 Laurelhurst Park [ more ] [ ~ outdoors ~ ] an entire evening spent begging jolene not to take your man, at volume, on wheels. dolly contains the whole country in one wig. i would not bet against her and neither should you.

sunday july 5

Isn't It Ironic? Alanis Morissette Ride July 5 at 14:00 Oregon Park [ more ] [ ~ outdoors ~ ] rain on your wedding day. a free ride when you have already paid. a pack of cyclists who will argue the whole route about whether any of this counts as irony. it does not. ride anyway.

Back to the Future Ride (39th Anniversary) July 5 at 19:55 Colonel Summers Park [ more ] [ ~ outdoors ~ ] rolls at 19:55, which is the joke. at 88 miles an hour, which is not happening. where you are going you do not need roads. you do, however, need lights.

the rest of the week, mapped end to end. a curated list of forty-four rides. every wheel i can see from up here.

every [ more ] below opens the same door: the bike summer calendar, where all of this lives and stays current. find your ride by its day and time.

thursday june 25

Paddle-palooza 3: The Ping Pong Ride 17:30 Colonel Summers Park | Free [ more ] [ ~ outdoors ~ ] a slow loop themed entirely around ping pong, paddles out, table-tennis stops along the way. i will not understand the rules and neither will you.

Learn Irish Sports Ride 17:45 Woodlawn Park | Free [ more ] [ ~ outdoors ~ ] a ride over to TC O'Leary's to learn the rules of hurling and gaelic football. roll over and let someone explain a sport you have never heard of.

Space Jam Ride 18:00 Creston Elementary courts | Free [ more ] [ ~ outdoors ~ ] a basketball-themed ride leaving from the elementary school courts. bring a ball and your best tune squad fit.

Skeleton Scavenger Hunt Ride 18:30 Mississippi Ave plaza | Free [ more ] [ ~ outdoors ~ ] portland keeps more plastic skeletons per yard than any city i watch. tonight a pack of you hunt them by bike. i will keep count from up here and you will still miss some.

2nd Annual Cheetah Girls Ride 18:30 Colonel Summers Park | Free [ more ] [ ~ outdoors ~ ] a mobile dance party that demands pop-star cosplay, choreographed stops, and a rolling karaoke machine. dress up or feel left out.

friday june 26

R2R Woodstock to KMHD 15:30 Woodstock Park | Free [ more ] [ ~ outdoors ~ ] a community convoy gathering riders in woodstock and routing them through the southeast. roll with the group.

Hidden Portland Ride 18:00 Moore Alley | Free [ more ] [ ~ outdoors ~ ] a tour of the overlooked corners of the city, the secret stuff. i see all of it from here but i will let you find it slowly.

The Rocky Ride 19:00 Salmon Street Springs | Free [ more ] [ ~ outdoors ~ ] fifty years of one man running up steps, honored by a ride down the waterfront. montage encouraged. raw eggs optional. i would not.

Bike-R-Cade: Sonic 3 21:45 Convention Center Plaza | Free [ more ] [ ~ outdoors ~ ] a late ride that ends in a plaza projection of sonic the hedgehog 3 for group play. stay up past your bedtime.

saturday june 27

Morning Naked Ride 08:00 Irving Park | Free [ more ] [ ~ outdoors ~ ] the one morning a year i make a point of looking at the river instead. you ride bare for cyclist safety and against highway expansion. sunscreen. everywhere.

Kenton Community Ride 10:00 Kenton Park | Free [ more ] [ ~ outdoors ~ ] [ + all ages ] a social, family-paced loop that starts and ends in deep north portland. nothing to prove. just pedal.

Flip Side Vegan Market Ride 11:30 Vera Katz Statue | Free [ more ] [ ~ outdoors ~ ] a short ride to a vegan makers market, leaving from the eastbank. roll over and buy something with no animal in it.

Rivendell Bike Works Appreciation Ride 12:30 Piccolo Park | Free [ more ] [ ~ outdoors ~ ] the unracers gather, the ones who love lugged steel and rim brakes, rolling out from a pocket park barely bigger than my hand.

The 60/60/60/60 Ride 13:30 Sewallcrest Park | Free [ more ] [ ~ outdoors ~ ] a short ride scored to sixty songs under sixty seconds by sixty artists in sixty minutes. the math is deranged. go anyway.

Galactic Disco R2R 19:30 Colonel Summers Park | Free [ more ] [ ~ outdoors ~ ] an anti-fascist disco parade dressed as science fiction. alien costumes and mobile lights encouraged. take the streets back in sequins.

sunday june 28

Bread & Butter Ride 08:00 Franz Bakery | Free [ more ] [ ~ outdoors ~ ] a morning bakery-tour ride that starts at the actual franz bakery. get your gluten and your glutes going early.

PDX Sidewalk Joy Ride (PDX Dinorama) 09:30 Grant Park | Free [ more ] [ ~ outdoors ~ ] [ + all ages ] the most family-friendly ride of the season, hunting whimsical sidewalk art and tiny dinosaur dioramas. bring the small tinies.

East Portland Sunday Parkways 11:00 Ventura to Rutherford Parks | Free [ more ] [ ~ outdoors ~ ] [ + all ages ] the city closes four miles of streets to cars and hands them to you. i like it when you banish the metal cars from the pavement.

The Silly Goose Ride 12:00 Eastbank Esplanade | Free [ more ] [ ~ outdoors ~ ] a honking good time along the esplanade. goose costumes and honkers encouraged. you will know when to honk.

The Zine Ride 12:00 Laurelhurst Park picnic area | Free [ more ] [ ~ outdoors ~ ] meet at the picnic tables, swap homemade zines, then ride. peak portland diy on two wheels.

monday june 29

Poetry Post Pedal 18:00 Peninsula Park | Free [ more ] [ ~ outdoors ~ ] a ride that stops to read from neighborhood poetry posts, starting with a picnic. the rose garden smells strong enough that i get it up here.

Mellow Mondays 19:00 Abernethy Elementary | Free [ more ] [ ~ outdoors ~ ] a beginner-friendly, non-violent ride promoting emotional consent and joy, rolling exceptionally slow. no one gets dropped.

Sunset/Moonrise Ride 19:30 Normandale Park | Free [ more ] [ ~ outdoors ~ ] a full-moon ride timed so the sun sets and the moon rises mid-route. i watch both happen at once and so will you.

tuesday june 30

hill killerz lunch hillz 12:30 SE 52nd & Harney | Free [ more ] [ ~ outdoors ~ ] your lunch break, except the lunch is hills. you climb the same steep block over and over without complaining. i watch you suffer, fondly.

Basic Bike Maintenance Workshop 15:00 Albina Library | Free [ more ] [ ~ outdoors ~ ] a free hands-on repair class at the library. bring your own bike and learn to fix the thing that carries you.

Alberta Food Resilience Ride 17:30 Alberta Park | Free [ more ] [ ~ outdoors ~ ] a tour of hyper-local mutual aid, free fridges, community closets, urban orchards. ride past the infrastructure that keeps people fed.

Bike to Swim in the Willamette 17:45 Audrey McCall Beach | Free [ more ] [ ~ outdoors ~ ] ride the esplanade in your bathing suit and end in an un-lifeguarded plunge into the river. i could scoop you out with one hand if needed.

8th Annual Teal Ride 18:00 Laurelhurst Park | Free [ more ] [ ~ outdoors ~ ] an all-teal-everything ride. the love for teal is real. wear the one color or do not come.

wednesday july 1

Bring Out Your Dead Laptops E-Waste Ride 14:00 Hawthorne food carts | Free [ more ] [ ~ outdoors ~ ] bring the dead electronics you have been stepping around for a year and ferry them to free geek. a parade of grief and old hardware. today you finally deal with it.

Postal Worker Appreciation Day Ride 17:30 Laurelhurst Park | Free [ more ] [ ~ outdoors ~ ] make thank-you cards in the park, then ride to celebrate the people who carry your mail. craft first, pedal second.

The Death Metal Ride: Butchered by Bike 19:00 Oregon Park | Free [ more ] [ ~ outdoors ~ ] metalheads gather and ride into the night scored to death metal on bike speakers. loudest thing i will hear all week and i live in the clouds.

thursday july 2

First Thursday Art Ride 17:05 Colonel Summers Park | Free [ more ] [ ~ outdoors ~ ] dress as art and ride between the first thursday galleries. costumes as canvas. become the thing on the wall.

The Health & Friends Ride: Rat-Based Biking 19:30 Irving Park | Free [ more ] [ ~ outdoors ~ ] a ride celebrating the band health and an embrace of rat-based urban cycling. i did not ask what that means and neither should you.

friday july 3

First Friday Art Walk by Bike 17:45 Sidestreet Arts | Free [ more ] [ ~ outdoors ~ ] a casual gallery crawl on wheels, half an hour to browse each stop. roll, look, roll again.

The Terminator 2 Ride 19:00 Laurelhurst Park | Free [ more ] [ ~ outdoors ~ ] a celebration of nineties action on bikes. dress as a cyborg and cruise to the soundtrack. i will watch from an altitude you cannot target.

saturday july 4

4th of July Children's Bike Parade 10:00 Rose City Park Methodist Church | Free [ more ] [ ~ outdoors ~ ] [ + all ages ] billed as the area's biggest kids bike parade. decorate the bike, roll from the church, let the small tinies lead.

Oasis PDX JoyRide (The Party Scientist) 15:30 Tom McCall Waterfront Park | Free [ more ] [ ~ outdoors ~ ] a high-energy joy-focused waterfront ride with music before the roll-out, led by a man called the party scientist. trust the science.

4th of The Lie Ride 16:00 Laurelhurst Park | Free [ more ] [ ~ outdoors ~ ] a ride more interested in the asterisks than the fireworks, ditching the parade for the parts of the story that never make the bunting. i have a long memory and i appreciate a ride that reads the footnotes.

The Jolene Ride (Dolly Parton's America) 19:00 Laurelhurst Park | Free [ more ] [ ~ outdoors ~ ] an evening spent begging jolene not to take your man, at volume, on wheels. dolly holds the whole country in one wig. do not bet against her.

sunday july 5

Elk Rock Island Loop Ride 12:00 NE Portland to Elk Rock Island | Free [ more ] [ ~ outdoors ~ ] a twenty-mile loop out to a tidal volcanic island in the river, past a brewery. long legs, good reward.

Isn't It Ironic? Alanis Morissette Ride 14:00 Oregon Park | Free [ more ] [ ~ outdoors ~ ] a casual ten-mile ride themed entirely around alanis. rain on your wedding day, a free ride you already paid for, and a whole pack arguing about whether any of it is irony. it is not. ride anyway.

Outside The Lines: Thai Massage Ride 14:00 Irving Park | Free [ more ] [ ~ outdoors ~ ] a slow ride built for neurodivergent folks, pausing mid-route in a park for a guided thai massage lesson. stretch on the grass. nobody rushes you.

Geocache Smash Ride 17:00 Laurelhurst Park | Free [ more ] [ ~ outdoors ~ ] a ride that hops between hidden geocaches to hunt them as a group. i can see every one from here and i will not tell you where.

Back to the Future Ride (39th Anniversary) 19:55 Colonel Summers Park | Free [ more ] [ ~ outdoors ~ ] rolls at 19:55, which is the joke. at 88 miles an hour, which is not happening. where you are going you do not need roads. you do need lights.

logo

you're standing outside the wall.

the extended cut, the full calendar, event tickets, and whatever's next. all on the other side. come in.

let me in

what's back here:

  • the extended cut, every thursday
  • the recurring calendar, always on
  • tickets to tunnel vision pdx events
  • surprises, stickers, zines + more