Sign Up for Free

Track your rides and runs via your iPhone, Android or GPS device, analyze your performance, and compare with friends.

Pat O'Neill

Pat O'Neill

San Ramon, California
Follow on Strava

Ride bikes, break stuff.

Trophy Case

Monthly Activity Distance

  • 0 mi
  • 160
  • 320
  • 480
  • 640
  • 800
Sep 2014
Oct
Nov
Dec
Jan 2015
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep

Current Month

  • 22.0mi
    DISTANCE
  • 1h 6m
    TIME
  • 0ft
    ELEVATION

Recent Achievements

  • PR on Barreling down Barley Mill Rd
  • 2nd fastest time on Benge Rd Hill
  • 2nd fastest time on Bazinga
  • 2nd fastest time on Bridge Road Mini

Year-to-Date

Cycling
Distance 5,278.5mi
Time 256h 45m
Elevation Gain 259,249ft
Rides 213

All-Time

Cycling
Total Distance 13,299.4mi
Total Time 700h 42m
Total Elev Gain 638,031ft
Total Rides 617

Recent Photos

  • #wifepace at the #windy #beach #iamspecialized #brandywinecyclery #wtfiszone2
  • #zwift #jaguar #pinarello.com #zwiftf8 #notgratuitous @gozwift @jaguar.com @pinarello.com
  • No downhill #kom s today on #mtdiablo? Can't they visit during the week? It's not like they have to go to #work.
  • #moo #norcal #gorideyourbike
  • All aboard the Danville Express. #tempotuesday surprised the shit out of me... I didn't even know this was a segment #kom #strava #stravasuffer #justridingalong
  • Call the #velominati ... Cause I can't pay attention because I'm on that #dust #beastieboys #slowride #licensedtoill
  • #tempotuesday is yielding positive results. #strava #stravasuffer #suffer #jerseypatrol
  • #music... Why you no make songs like this anymore? #rooster  #aliceinchains #dirt
  • #Internet was all abuzz with #prototype #Zwift #kit. Available late #fall from #competitivecyclist and #wiggle. Perfect for getting those "those #rides aren't #real look" from #freds at your next #century or #metriccentury....
  • This is how I felt after hitting the #wrong button after yesterday's Earth slowing #sprint on #watopia , but #Zwift had it#dummyproofed the #fit file was on the #computer for #strava upload.... But who am I #kidding? These aren't real #rides... #lol #Zwift #zwiftbeta @gozwift
  • #beastieboys #licensetoill #eatm3 #rhymin&stealin
  • #iwearmysunglassesatnight so I can #sprintymcsprint with the #canyon #aeroad on #Zwift  @gozwift
  • Gratuitous #canyon #aeroad #Zwift #screengrab for #bidon #giveaway... Cause you can never have enough... #gozwift #zwiftbeta #watopia
  • #iceicebaby... #sprintymcsprint sub 25s #watopia #Zwift #zwiftbeta #gozwift #sprintpr
  • Nothing must dull the #suffering #sufday #adobe #iwannaworkoutbutno #jobsecurity #softwarepatch @thesufferfest
  • Sufferlandrian Ministry of #propaganda #grouptexting #zwiftbeta #Zwift #gozwift #glorytosufferlandria #sufday @thesufferfest @sufferfest
  • I visited #sufferlandria for #sufferlandriannationalday #sufday and this was the view during the last 8 minutes of #Angels #glorytosufferlandria @thesufferfest
  • When #sufday leaves you 5k short of a #metric, you #manup and go for the #metric. #Zwift #imperial #century jersey since I can't get @thesufferfest #blackjersey on @gozwift ... Can you guys work that out? #sufday #sufferlandriannationalday #gozwift #zwiftbeta #Zwift
  • #Rollin #gangsta..
  • Jersey full of #rideon 's... Most coming from off line! Thanks!!!!
  • It was all a #dream...
  • #Zwift #voyeuring of a #westcoast #odz #race  while I #ride #gozwift #zwiftbeta #rideon
  • Only #appropos that I finish up in the #dark... #gozwift #zwiftbeta #Zwift #moonlightbro
  • Sure I can #ride an hour before I #clockin and #putinwork...don't you? Fire front #snotrocket tubes! #headcold be damned! #jerseypatrol #sorrynotsorry #zwift #zwiftbeta #gozwift
  • A lite post cold #sprintymcsprint . Legs good, lungs not there. #jerseypatrol #zwift #zwiftbeta #gozwift #pr #sprintpr
  • 13.50.... 70k in.#carpediem #jerseypatrol #gozwift #zwiftbeta #downinit
  • Small windows of opportunity with the PanAsia zpower doping game on #watopia. #forthoseabouttorock #jerseypatrol #gozwift #zwiftbeta
  • Dat moment when you pull up to a rest stop and have a #purple band when everyone else has #yellow. #gluttonforpunishment #marincentury
  • We started at the bottom, and now we're here.... #marincentury #mttam
  • #mttam #marincentury #karlthefog
  • #inthebag #ouch #marincentury #ridemarin
  • #marincentury #redlightdistrict
  • #carpediem #downinit #sprintymcsprint #moveslikesagan #jerseypatrol #gozwift #zwiftbeta
  • For those #intheknow , this is one of the best #interval songs out there #gunsnroses #paradisecity #appetitefordestruction
  • 1kg weight reduction is an amazing thing... Able to blow away my #pr that was set inadvertently with #kickrdoping #kickr #wahoofitness #dathurt #fullgasnobullshit #jerseypatrol #gozwift #zwift #zwiftbeta
  • 130k the #hardway #systemscheck for #mttam #climbing #century #letthebodieshitthefloor #drowningpool #bodies #stravasuffer #zwiftbeta #gozwift #zwift #brfu #htfu
  • Even had some #minions show up for the last #km #gozwift #zwiftbeta #zwift
  • More #minions #sisters
  • I attended #sufday and all I got was this lousy view of my #stem while I was #eating it. Surely @sufferfest would find it in their cold hearts to kick me a new #stemcap. #sufferfest #suffer #sufday #iwbmytkyt
  • Where's #charliebrowns #teacher ? #strava #iwannasufferbutno #blahblahblah #legalese #litigationnation
  • #respect #Norcal #sfbay #republicofCalifornia
  • Working at #adobe must have the #supreme #jobsecurity due to #incessant #code #rewrites. Updates, updates, everywhere! #ftw #iwannaworkoutbutno #adobe #trainerroad
  • Yeah that looked better in person, but you get the drift #iphonography
  • #musettemonday #rapharising #rcc #rotor #qrings #zipp #garmin #vector
  • #digitalpeacocking #gozwift #zwiftbeta #breathe #prodigy
  • Up for a race that didn't happen #dowinit like #nin anyways...#jerseypatrol #gozwift #zwiftbeta
  • The "s" is for #spinbike ..Come get some, you little #bum... #rotor #qrings #garmin #vector #cvc #castrovalleycyclery #brandywinecyclery
  • You can deal with this, or you can deal with that..... #blacksheep #thesufferfest #angels #thomasvoelkertuesday #sloth #envy
  • Have you ever ridden with Trek Pros under the pale moonlight? @gozwift #ridefor #rideforbeer #zwiftbeta #gozwift #gorideyourbike
  • Got up at 2:30am #california time to go #riding with #tdf #tfr #pros . Would love to #win a new #madone or #domaine . #zwiftbeta #ridefor #rideforbeer #gozwift @gozwift
  • #delayofgame #iwannaworkoutbutno #returntowatopia
  • Guess who's back? #returntowatopia #gorideyourbike #gozwift #zwiftbeta #returntowatopia
  • #upgrade #convectioncooling #heattransfer
  • Live results well worth the update time! #chapeau @gozwift !! It keeps getting better and better!
  • Gettin' it done ... #mtdiablo #diablomafia #outsideisfree #gorideyourbike #thisisntspinclass
  • In the #abyss #mtdiablo #outsideisfree #gorideyourbike
  • What's that smell? #washyogloves
  • I got #99problems, but a #bikeshare ain't one...
  • #moonbro #dawnpatrol #lunarpatrol #gorideyourbike #outsideisfree
  • First light over #mtdiablo #dawnpatrol #diablomafia
  • #NorCal #dawnpatrol #nirvana #tempothursday #strava #travasuffer #stravaadventure #sufferselfie #cuoreofswiss #iamspecialized #evade #smithoptics #smithpivlok #thankyousirmayihaveanother #hashtagslikethese
  • This much #daylight should be #illegal at 6am. #dawnpatrol #solsticepatrol #happyfathersday
  • Just got done @thesufferfest  #angels.... Did ya hear? #freakyfriday getting ready for the #summersolstice this weekend. #gozwift #zwiftbeta #jerseypatrol #getit
  • #tbt to #monday #spin classes w/ @scotarmstrong1968 at @hacfitness . It takes a special #kind of #knucklehead to show up to a 6am #spinclass #weezer
  • I'm not a climber 'cause I eat a lot... #bigpun #rip #jerseypatrol #zwift #gozwift #zwiftbeta
  • Finally getting back to where I was a year ago. #fitness and #relocation do not play well.
  • Not a #TT bike #roubaix #iamspecialized #brandywinecyclery #outsideisfree #gorideyourbike
  • Awww shit! Just what the #doctor needed from 5k out!!#thekillers #allthethingsivedone
  • 115k the hard way. #spent
  • Music to #suffer by #cash #hurt
  • #bringinthenoise after #100k #comeatmebro #longrangebomber #gowiggo #gozwift #zwift #zwiftbeta
  • How hard can you go at the end?Finish strong!! #jerseypatrol #gozwift #getit #zwiftbeta
  • #sprintymcsprint #jerseypatrol #zwift #zwiftbeta #gozwift
  • If you can't find it, #grindit!!! @iamspecialized #womensrideday
  • #newoldstock from the #partsbench. Time for some summer shoes....#continental #grandprix #4000s #iamspecialized #brandywinecyclery #roubaix
  • #specializedwomensrideday #nobonking #nosleeping #drivingmsdaisey #wtfiszone2
  • #moregarminsmoreproblems #garmin #castellicycling #htfu
  • #tbt to somewhere on #Cali #hwy1 near #muirbeach where there is no cell reception... Overlooking the #pacific in the distance #Californiasucksdontcome #northbayallday #dawnpatrol #californialove
  • "Dang" was what he said #jerseypatrol #gozwift #zwift #zwiftbeta
  • The Wall doing its job to keep #karlthefog away...#dawnpatrol #eastbayallday
  • Already #butthurt on #Jarvis #island. #zwift #zwiftbeta #strava #zwiftmademedope #stravamademedope #gozwift #zwiftbeta
  • Waiting.....waiting....#cmonson #aintnobodygottimefodat #gozwift #trainingtime
  • You have beaten my ass today, #sufferfest , maybe I'll kick yours, tomorrow? #hhfn #thesufferfest #trainerroad
  • 5 bottles later.....#metriccentury #zwiftbeta #zwift
  • Must be a nice day.... And my lucky day! #luckynumber13 #bikeshare #gride #genentech #ssf #gorideyourbike #outsideisfree
  • Work sucks #gorideyourbike #outsideisfree #mttam #dawnpatrol
  • #mttam #iamspecialized #roubaix #rotor #qrings #sram #garmin #vector #speedsleeve
  • Moon over Endor.... #mttam #outsideisfree #gorideyourbike
  • Low spot testing.. That isn't #water, but then again #whatisreal? #gozwift #zwiftbeta #zwift #sweatopia
  • Too many #onelapwonders to grab the #orangejersey, so #sprint at the end of the #fondo #sweatopia #getit #gozwift #zwiftbeta #jerseypatrol
  • One lap wonder? #zwift #zwiftbeta #gozwift #getit #jerseypatrol #firstblood
  • That don't mean a #ninja cant #restinthewest. #Whoa, #Cali? #tbt #biggiesmalls #notoriousbig #big #lifeordeath
  • All the usual#jerseys. Didn't intend to #sprint, but the time was so lazy I took the restrictor plates off the #reddragon. #jerseypatrol #getit #gozwift #rideon
  • You think this story's over, but it's about to begin #tbt #beastieboys #licensedtoill #ill #3ATM3
  • No place like home after a travel week...#zwift #zwiftbeta #gozwift #jerseypatrol
  • #getit #prodigy #minefields #fatoftheland
  • Music to do #intervals by.....#terribletuesday #suffer #headlikeahole #nin #nineinchnails #downwardspiral
  • Out on bail, fresh out of jail, #californiadreamin' #californiaknowshowtoparty #astatethatsuntouchablelikeelliotness #californialove #westcoast
  • All I wanna a do is zoom,zoom,zoom.... #rumpshaker #wreckx-n-effect #onehitwonders tribute to all you #oneanddone #zwift guys... #zwiftbeta #gozwift
  • #jerseypatrol #gozwift #zwiftbeta #zwift
  • Wife's first outdoor ride in 5 years...Somebody's been #halfwheeling me.... #gorideyourbike #outsideisfree #wifeytime
  • "Where's the nobby-thingy to turn down?" #gorideyourbike #outsideisfree
  • #updates, #updates everywhere #iwannaworkoutbutno #zwift #zwiftbeta
  • I got a dog eat dog sized smile...#nighttrain #gunsnroses #gozwift #zwift #zwiftbeta #orangejersey
  • The #westcoast rolls along...#Xxplosive...#natedogg #drdre#pandora
  • #orangejersey clan? #Againandagain
  • wit? Is this #natedogg radio?? What a cool song it was in the #stripclub #regulators #mount up#warreng
  • You know you are having a good day when the only #wheelsuckas are AI.... And no, they won't take pulls...#gozwift #zwift #zwiftbeta #accidentalorangejersey #orangejersey #jerseypatrol
  • 5 bottles later.....#metriccentury #zwiftbeta #zwift
  • Tried to clear it in 3 hours....Oofff......#zwift #zwiftbeta #metriccentury
  • Even saw the likes of the #zwift blimp, and it said "nighttrain's a pimp"... #Todaywasagoodday  #zwiftbeta #gozwift #metriccentury
  • Just like #thering... Showing at 3:20am, 5:10am, and 5:30am #iwannaworkoutbutno #gothefucktosleep
  • #sickerthanyouraverage #notorious #notoriousbig #rip #hypnotize #readytodie
  • Is that an #Adobe update? #Againandagain! #ftw #iwannaworkoutbutno #trainerroad
  • The amount of #wheelsuckas is directly proportional to w/kg #wheelsucka #htfu #gozwift #Zwift #zwiftbeta
  • Are you feeling....#sore? #disturbed #pandora #suffer #paincave
  • 7:52 lap..#gozwift #zwiftbeta #Zwift #jerseypatrol
  • Oh, Hai #uci.... These guys know what to do at a level crossing.....#suffer #sufferfest #thehunted #ucisucks #uciblows #parisroubaix
  • #eyeofthetiger #survivor #suffer
  • Long ride favorite...#metallica#unforgiven#blackalbum
  • #triplejerseywheelsucka #wheelsucka #leadout #gozwift #Zwift #zwiftbeta
  • "Daddy, grass is hard to ride in" ... Yep, tell me about it... I'm pulling a trailer with your sister in it..#htfu #cyclocross #playgroungcross #needapitbike
  • After yelling #Attackattackattack, #coach smiles for the #iPhone...
#toddlersareassholes
  • Dat moment when the legs are stronger than your #internet connect...#banished to #lost island isolation... Only happens on #weekends.... Anything you can do to help @gozwift ? #Zwift #gozwift #zwiftbeta #strava #stravaproveit #stravacycling
  • #iwearmysunglassesatnight Premium #strava kit in da #hizzle #gozwift #Zwift #zwiftbeta  #stravacycling #stravaproveit
  • My only gripe about #TrainerRoad is the fact that they are attached to the most #highmaintenance software out there.... #adobe #ftw #iwannaworkoutbutno #updates
  • #sweatingbullets
  • It is amazing what an anti-cheat #algorithm will do...????????????I'm the cream of the crop, I'll rise to the top.....#zwiftbeta #Zwift #gozwift #wheelsuckas
  • Got the #leader jersey back after a pretty stiff #runin to the #line.... Where are all the #digitalpros at today? #zwiftbeta #Zwift #gozwift
  • #zwift pays hommage to #lwcbrigade #thewoodsman #lwc
  • "I was there"......#bloodmoon  #lunarpatrol #lunareclipse #shittyiphonecamera #itreallywas red
  • Digital #wheelsuckas ....#Zwift #zwiftbeta #gozwift
  • It was better to beg for forgiveness than ask for permission to get here ....#rip #iamspecialized #roubaix #rotor #qrings #garmin #vector #commute #commutelife #bikecommute #sram #mtdiablo
  • #lunarpatrol on the #bigwheel #gozwift #Zwift #zwiftbeta #aprilfools
  • Got my mind on my mommy, and my mommy on my mind....couldn't #powerslide, doe....#gozwift #Zwift #zwiftbeta #gorideyourbigwheel #bigwheel
  • 24oz bottle per half hour #pace #sworks #iamspecialized #roubaix #Brandywinecyclery #zipp #sram #rotor #qrings #garmin #vector #kickr
  • Like @vengecowboy said... Get #fit or #die tryin'.....#thesufferfest #suffer #counchlandria
  • Relaxing #island music #gozwift #zwift #trainer
  • Not recommended for children under 40. Had a stationary #bike #crash.... Don't bump the bars #whenbikesattack #clug
  • Wait a minnit.... This ain't no #GTA #gozwift #zwiftbeta
  • Good in the #wet #iamspecialized #roubaix #zipp #lwc #lwcbrigade #castellicycling #nanoflex
  • Still beats a good at #work... #castellicycling #garmin #smithoptics
  • It seemed like a good idea at the time.....m1 won't fit much longer....have to take #bikelane since sideway is too narrow.
  • Meh... #instep #rocket....wheels are cheap..... Needs some #zipps
  • #lemmetakeaselfie #sufferselfie #sufferfest
  • That time I was just riding along #jra , and some doode put his thumb up to #hitchhike. #nightriderproblems #iamspecialized #evade #smithoptics #pivlock #rapha #raphaproteamjacket #suffer #sufferselfie #strava #stravastory
  • Expensive lunch.... #gamewarden jumped out of the #bushes looking for #fishing #licenses... #go fish
  • #mtdiablo from #ssf.... Would rather be #riding #bikes over there, but get #paid to #ride over here.
  • Making #watts #genentech #sfbay #datwind #verticalturbine
  • 'Yo #dawg!!! I heard you liked #cameras, so here's a picture of a #camera on top of a #car. #googlemaps .....taking a #googlenap ? #streetview
  • #lost on #jarvis island again. #gozwift
  • You ain't beating nothin' on me, honey!! I ain't doing nothing downward with you!!! #thesufferfest #angels
  • Might be time to head outside.... Running out of fans....
  • #outtatime ... Ran out of time to get to the #summit of #mtdiablo but had a lot of fun anyway.... Especially watching the ranger catch up with son #punkass #fastandfurious fools #redassing it up #diablo.... I'll try to get the #YouTube up soon...
  • Had to unglaze the ol #gatorskin for the trainer wheel. Time for more #sprints !
  • Training plan? We don't need no stinkin' #trainingplan !!! #sufferfest #rubberglove #thesufferfest #suffer #trainerroad
  • #sf #sfbay #carfree
  • #superfly #bart #sfbay
  • #box #stuntin
  • #pier39 #sealions
  • Now that's a #cat...
  • #Alcatraz #therock
  • I thought this was about #riding #bikes ....looks like a dalliance in #electricalengineering
  • Spotted @vdlaan2000 on #Jarvis island today...
  • TTT 90 min into video? #plotfail #thesufferfest #islagiatt
  • Another #zwiftgreenjersey... Remember.. Someone is always willing to push themselves into the #stupid zone a little further than you are willing to go...#gozwift #zwift #zwiftbeta #zwiftburritos
  • You know it is the land of make believe when I grab the #greenjersey #gozwift #zwiftbeta #zwiftfondo
  • #zwiftfondo #gozwift #zwiftbeta still waiting for a rocket launcher or hookers.... This ain't no #GTA
  • This isn't the #triathlon you were looking for....#gozwift #zwiftbeta
  • Started to burn when the sun started coming up..... Been a long time, only to lose it in Zaire few weeks... #dawnpatrol
  • Guess who's back.... #raphaprojacket #rapha
  • A tale of two cities.....#californiadreaming on such a winter's day..... #californiasucksdontcome #donthaterelocate
  • Wanted nothing more than to take this #raphaproteamjacket back to the store all steamy and smelly, but now believe the hype. Great breathability, flexibility, and way warmer than it looks. It is my new low 40 degree favorite.
  • For all the #internet #tools that need to #htfu and #gorideyourbike .... 300 miles outside is by far a much better boost than 246.5 inside. #ifyoudontknowyouknow #thereisnoreplacementforroadmiledisplacement #truth like #Freddie said #getonyourbikeandride
  • Done! Glad I had the #festive500 under me this year.... Big difference! Had some gas in the tank at the end of #ISLAGIATT for #attacks .Thanks for the support #friends and #followers!! #IWBMATTKYT #TourofSufferlandria #tourofsufferlandria2015 #suffer #sufferfest #thesufferfest #turbo #trainer #trainerroad
  • Gear bangers ball....#tos #ToS15 #TourofSufferlandria #TourofSufferlandria2015 #turbo #turbotrainer #thesufferfest #sufferfest #suffer #dameamlissa
  • Mentally prepping for tomorrow's "Spryntphony of Destruction" #IWBMATTKYT #tos #ToS15 #TourofSufferlandria #TourofSufferlandria2015 #turbo #turbotrainer #trainerroad #trainer #dameamlissa #queenstage
  • Mentally prepping for tomorrow's "Spryntphony of Destruction" #IWBMATTKYT #tos #ToS15 #TourofSufferlandria #TourofSufferlandria2015 #turbo #turbotrainer #trainerroad #trainer #dameamlissa #queenstage
  • There is s reason I've only done this one three times...#localhero #notmyfavorite #ifyoucantsaynothingnicedontsaynothingatall #sufferfest #thesufferfest #tos #ToS15 #TourofSufferlandria #TourofSufferlandria2015 #bringbackhhnf
  • My #alpedehuez ... The "doorway to hell" on the LLWH put together by @surlyrider .... Check it out at LLWH.bike. Just a few miles from here in the blowing wind in hills, I self destructed. Today for #TourofSufferlandria2015 it was old school #Angels...why? The last 8 minutes takes me right to the edge where I pop...#tos #ToS15 #turbo #TourofSufferlandria #TourofSufferlandria2015 #llwh #llwh15
  • #ninehammers #thesufferfest #suffer #sufferfest #TourofSufferlandria2015 #TourofSufferlandria #stop #ToS15 #tos #trainer #turbo #turbotrainer #trainerroad
  • #ninehammers #thesufferfest #suffer #sufferfest #TourofSufferlandria2015 #TourofSufferlandria #stop #ToS15 #tos #trainer #turbo #turbotrainer #trainerroad
  • #ninehammers #thesufferfest #suffer #sufferfest #TourofSufferlandria2015 #TourofSufferlandria #stop #ToS15 #tos #trainer #turbo #turbotrainer #trainerroad #mchammer
  • I don't want to talk about it. #tos #ToS15 #turbo #turbotrainer #suffer #sufferfest #fightclub #thesufferfest
  • This is not the #blender you are looking for.... #tos #tos #sufferfest #thesufferfest #IWBMATTKYT #everybodyhatessirneal #everyonehatessirneal #suffer #turbo #turbotrainer
  • The "easy" stage... #turndownforwatts #htfu #thesufferfest #sufferfest #suffer #ToS15 #IWBMATTKYT
  • Exactly... #putinwork #gorideyourbike #suffer #rideyourbike #rideeverythingshavenothing #stravaproveit #strava #hansolo
  • What does your admin have at their desk? I'm guessing shitty candy.
  • Winter in South San Francisco.... Makes you want to throw your #turbo #trainer out the window? Before you #hate recognize I worked at some pretty shitty places before this...
  • Suns out.. Guns out!!
  • Don't hate!! #sfbay
  • Time for a basket.....#iamspecialized #hotwalk #brandywinecyclery
  • Time for a MTB.....#igerscycling #iamspecialized #hotwalk
  • Done. #festive500
  • It's better to burn out.... Than fade away!!!!
#defleppard #stravaproveit #strava #festive500 #rapha
  • When the north wind blows... #festive500 #strava #stravaproveit #suffer #windsuck #paincave
  • Victory brew...I would have bought a 40 if they had it.... #festive500 #strava #stravaproveit #lagunitas #petaluma #norcal #californiastateofmind #californialove #californiasucksdontcome #goldenstateofmind
  • Rocking the #lwc territory long sleeve #sworks #evade #lwcbrigade #smithpivlock #smithoptics
  • Came out of the gate a little hot on rested legs even though I was trying to pace myself... #festive500 #garmin #strava #proveit #rapha
  • Another #50k the wet way...#sworks #iamspecialized #evade