Finally: Cheap Prescription Cycling Sunglasses with Optical Factor

I’ve been searching for more affordable good prescription cycling glasses online for years. Unfortunately, there aren’t that many cycling glasses that support prescription lenses. Even for those that do, only a few places will actually make prescriptions. For glasses that have prescription inserts, I could never find a place that would only do the inserts; even if you found the sunglasses on sale, you couldn’t find a place to just provide the lens inserts.

The end result is that such glasses and lens combinations end up being well over $300. I’ve been against paying this because 1) it’s a lot of money 2) I didn’t know whether I would like the glasses. As far as I knew, there weren’t many places to try them for a ride. This was just too much risk for me, not even accounting for the fact that prescriptions change.

My past solution was to buy prescription sunglasses from Zenni Optical for under $70. Not amazing, not as “cool” looking as your typical wide frame full coverage cycling sunglasses, but they worked reasonably fine.

My Zenni Optical sunglasses (no longer being sold, find current models here):

Cycling glasses from Zenni Optical

Compared to the sexy Oakley Jawbreaker.

Oakley Jawbreaker

But now I’ve found a real cheap, better looking alternative, these Luke Prescription Cycling Sport Sunglasses Kit frames from Optical Factor.

I got both variations with prescription lenses for under $100. That’s me above trying them out on a very light family ride over the weekend. They held up well in those non-stressing conditions. I’m not going to claim some amazing optical clarity that the likes of Oakley claim, but I have previously owned an expensive Oakley Juliet that I was never impressed by.

Two pairs for $100 – I have no regrets getting these so far as an experiment. Other notes:

  • It took about two weeks to get the glasses manufactured and delivered from China.
  • There is no customer support. Don’t even bother reaching out. Since I paid with a credit card that has purchase protection, I was ready to attempt a reversal if this had been a scam, but they came through.
  • You can basically get the glasses flush to your eye ball, there isn’t a bridge to prevent them from getting too close.
  • You get pretty good horizontal and vertical wrap-around coverage.
  • They are very light.
  • The frames pick up fingerprints easily.

Gravel Riding with a Canyon Ultimate CF SLX

I have a 2018 Canyon Ultimate CF SLX Disc. When I recently acquired a new wheelset, I wanted to use my old Specialized CL 32 for gravel, but I couldn’t tell how wide I could go. The official Canyon spec is 30mm, not much for gravel.

It turns out the answer is 35MM. I used a 700x33c (33mm) Vittoria Terreno Dry, which expands to 35MM at 40 PSI. There’s still enough clearance that I’m not afraid of dirt and a little mud. For reference, the CL32 wheelset is 21mm internal, 27mm external.

If you’re curious if 35MM is wide enough for gravel, the answer for bike-handling weenies like me is probably no. BUT for Mathieu Van Der Poel, “the only obvious change from the usual race-spec is the low-profile Dura-Ace C36 carbon tubeless wheels shod with what appear to be Vittoria Terreno Dry tyres in an assumed 35 mm width (to match the available room in the Ultimate frame).” (MATHIEU VAN DER POEL IS RACING A ROAD BIKE AT GRAVEL WORLDS)

Delusions of Aero: My Attempts at Budget Marginal Gains on the Bike

As part of a delusional attempt to buy myself faster on the bike, I made changes to my Canyon Ultimate CF SLX over the winter months. It took me almost a year, however to finally get my second tire in and have a chance to try everything out.

  1. Light Bicycle AR465 Falcon Pro X-Flow 46.5mm Depth Wheelset – $1237.14
  2. 2 x Continental GP5000S TR tires (25mm front, 30mm rear) – ~$200 from Amazon and BikeTiresDirect
  3. Aero water bottles – $20.60 from Amazon
  4. Shimano 105 Fc-R7000 Crankset – 160mm – $159.99 from Jenson USA

Let me start by saying that all these attempted gains are marginal, extremely marginal. 100G of weight savings is just .22 pounds, and yet I can’t help myself. Imagine trying to lose that weight off your body instead of buying it. People with this insanity are Weight Weenies, as popularized by the forum.

There are two types of changes, weight and aero. Reduced weight helps you ascend faster, particularly as you go above 6% gradients – the higher the gradient, the more reduced weight helps. Aero helps you with anything less than 6%.

The reality is I am unlikely to hold enough power for enough time to measure the difference any of these changes will make. I know this and I don’t need to brag to others about this gear, but I just like knowing for myself. I want to know I have a lighter rim, a more aero tire. But I want to know that I “achieved” all this at bargain prices too.

Wheels and Tires

Below is the configuration I opted for with the Light Bicycle AR465 Falcon Pro X-Flow 46.5mm Depth Wheelset.

  • Internal Nipples (more aero, but harder to service)
  • Flyweight (lighter version of the rim, but less strong – more of an issue for 200lbs+ riders)
  • Pillar Wing aero spokes

The X-Flow rim shape itself is supposed to be Light Bicycle’s new innovation, their faster, stronger, stiffer design. It looks like a very subtle version of the Zipp and Princeton Carbonworks wheels. The 46.5MM depth is their deepest in this rim shape, but I am also concerned about crosswinds and so this seemed like a good balance of aero gain, crosswind vulnerability, and light weight, especially with the decisions around the nipples, spokes and tires.

Or so I tell myself.

The wheelset came in at 1,364G (+30G for tubeless tape). If you’re new to weight weenyism, 1500G is a good solid non-heavy wheelset, like a B- grade. 1400G is the B, 1300G is the A-, and 1200G is an A. I think there are wheelsets that might break 1100 G. The difference in 150G (.33 lbs) in weight between wheelsets can often be $500 and greater.

I got the Bitex Hubs because they were lighter, cheaper, and came in the oil slick color. It was the only hub that could be paired with the Pillar Wing aero spokes that also came in the oil slick color.

On the tires, I’ve already run Continental’s original excellent GP5000 tubeless tires on my Roval CL32 32MM depth wheelset before. But but but! I needed to maintain aero efficiency through the so-called 105% rule (you want the tire to be thinner than the rim by at least 5% in order to create a smooth airflow interface between tire and rim). But but but! The new GP5000S tires were lighter than the originals due to removing a layer of rubber originally intended to remove the need for sealant. But but but!

So now, instead of two 28MM GP5000s on 32MM depth wheels, I’ll be on 25MM GP5000S TR on the front, 30MM GP5000S TR on the back (wider tires on the back wheel are of much lesser concern because they receive the disrupted airflow from your body) with these deeper 46.5MM depth wheels. The Light Bicycle wheels are 28MM to 30MM in width.

Actual tire measurements when inflated to 80PSI (front) and 65PSI (rear) were 26.6MM for the 25MM tires and 31.1 for the 30MM tires, perfectly hitting 105% in the front.

The weight difference seems to be about 50G per tire, 100g total not accounting for the front tire difference (Going from 28MM down to to 25MM). My Roval wheelset is probably 1450-1500G. In total, maybe this is a savings of 200G.

Lighter and more aero!

If you haven’t noticed yet, there’s actually something really cool about the wheelset. It was a special gift from my wife, and this kickstarted the entire exercise of “what else should I consider changing?” The wheels are customized with a cycling graphic decal around the rim and with the names of my two sons. (The customization was about $180, everything was $1,237.14) Matching the aero spokes, the name and Light Bicycle logo stickers on the rim, and Bitex hubs are these Muc-Off Tubeless Presta Valves.

Water Bottles

Water bottles are this bulging thing that disrupt airflow as it flows around your bicycle frame. Initially, I purchased the Elite Fly 950ml (33.4 oz) bottle with the idea of using a single bottle (and bottle cage) on the seat tube, removing the downtube bottle cage. The bottle is extremely light (thin). The rationale was using a single larger water bottle on the seat tube would create less aero disruption than two bottles on the down and seat tubes because a lot of the air that gets there has already been disrupted by your spinning legs. I like to carry a lot of water (just in case) so I needed the biggest bottle I could find.

I then saw these aero bottles based on an Elite design which is no longer being produced. Instead of bulging out of your frame, they’re basically inline with it, theoretically causing less turbulence. Together, they carry about 1000ml (35 oz) of liquid. I originally saw the bottles on Aliexpress but when I saw them sold on Amazon, I decided I didn’t want to wait a month for them to arrive from China.

There are two versions of these bottles. One uses a form fitting bottle cage. The other has magnets within a rail that holds the bottle. I got the latter as I saw some random comments that the cage didn’t hold the bottle tightly. I also liked the idea of magnets, though I did wonder about the weight difference….Overall, I decided that aero was going to be more important than weight.


This one was more straight-forward. I am shorter than most people at 167CM tall (5’6). I have long legs for my size (30″ inseam) but I still don’t have “long” legs. The length of a crank determines how high and low your legs go when pedaling. A longer crank means your knees get closer to your body as you pedal up – this can cause breathing discomfort as well as knee pain. Some people like longer cranks because they produce better leverage.

I just wanted shorter cranks in order to optimize my pedaling and make it easier to breath when hunched over in aero positions. I got a new bike fit right after the switch.

Previously, I had Ultegra R8000 170MM cranks. I have now switched to Shimano 105 FC-R7000 in 160MM. But isn’t 105 heavier than Ultegra you ask? Yes, the difference in these cranksets is a whopping 39.4g / .09 lbs! So not even worth thinking about. In addition, Ultegra cranksets don’t go as short as 160MM and retail for over 180% the cost of the 105’s. The 105 crankset blends in well the with rest of the Ultegra groupset too.

Much Ado About…

Me, on the right. I posed.

It took me almost a year to actually ride all these changes and I didn’t hold back through some test ride. I did Foxy’s Fall Century in Davis, CA, 100 miles and an easy day of 3100 ft of climbing.

I enjoyed the ride, but can I really tell the difference? No. Then again, it had been a year since I rode outdoors. I suppose this is what hobby is all about. Nothing but what’s in your mind.

Podium on Zwift! How I race.

I got a third place (see M Nguyen) finish on Zwift! To be fair, however….it was Tour De Zwift Stage 6, a group ride, but I suspect that the top group ride…riders are racing each other so I’ll take it. 178 total participants officially recognized, see all the details on Zwift Power.

I am not going to claim the competition was comparable to a normal B class race – the C designated in this was for the route not the class. I happened to pick C because I needed the Zwift achievement for the route. That said, I think I did well relative to the power levels I competed against on this flat route – I beat people with significantly higher W/KG and average watts.

My approach to racing is pretty simple. From what I’ve read about Zwift, race strategy is not so complex.

  1. I look to start off strong (300+ watts, 20%+ above FTP) for a couple of minutes, basically as long as I can to be part of the strongest group at the front. I try not to go beyond 350 watts as that will wear me out quickly. My aim is be in the lead group and survive.
  2. Because of my relatively small size, I never pull (lead the group). I just want to get in the lead group and rest in the draft. This allows me to stay in the group with less power. After my start, I basically need to settle down as quickly as possible without losing the group or I will fade.
  3. Each race has places where groups break off. Sometimes it’s obvious where this can happen, like a climb. Even though I’m more oriented towards climbing, I usually find myself getting dropped on these. I’m prepared to go 10% above FTP for longer 1 minute+ climbs, but I see people really pushing hard beyond that. I haven’t raced enough to get the right feel for how I want to approach these. In flat courses, I feel it’s more about focus. I will find myself in a larger group that starts breaking apart but I don’t quite realize it’s happening. Suddenly there’s a widening gap and I have to make a big (see #4v) decision. I feel that I have to stay towards the first half of a group to avoid this happening to me, and even higher in a bigger group. The larger the group, the slower you can tell it’s fragmenting. That’s what I focused on this time – both sustaining high power for longer to make sure I was in the front group at the start and then always making a push if I started falling to the rear of the group. Steps 1 to 3 recapped: surge at the start and hang on in the strongest group (as long as you can).
  4. When a group begins to break up and I am behind, I have to make a decision immediately. Either bridge the gap, no matter what it takes, or ease off. Whether I do the former depends on how much energy I’ve exerted to that point and how much I’ve been surprised by the gap (how far it is). Here, I bridged gaps a couple of times to take the chance I’d be able to hold on for the long term. Thankfully, I did. The worst is to try to bridge the gap and then realize 10+ seconds in that the group in front is still pulling away. I find it virtually impossible to catch up to a decent sized group after it begins to pull away.
  5. If I don’t bridge the gap, I lay off the effort immediately. I then look to find the next group of 5+ riders coming behind me. Just as it’s very difficult to catch up to a group by yourself, it’s just as difficult to stay away from a group behind you. I have never seen a solo breakaway survive. I don’t want to go slow, but I can lay off quite a bit so I can join the next group. However, I have to be careful to ramp up the power as that group comes up so I don’t get passed up completely, I want to get sucked into that group’s draft. Groups, given enough time, will easily pass the rest of the smaller groups and individuals until it’s only behind a faster group. Basically, even if you’re stronger than the group, it’s not worth the extra effort to stay ahead of the group because the group will catch you eventually and you cannot make it to the next group by yourself. Save your energy.
  6. From here, it’s about repeating steps 3-6 and getting a feel to which group you ultimately belong. Stick to a group and try to survive. Fall off, then try the same with the next group coming up. The series of decisions about bridging the gap to a group or laying off to join a slower group seems to be most critical in the overall Zwift standings. Lose focus and use too much energy bridging a gap, you may not be able to stick to slower groups coming up behind you.
  7. When you can stay in a group without spending your max, you’re better able to stay with surges and also prepare for the final sprint. This time, I was in good shape and as I saw other people getting dropped, my focus was to stay in the lead group as it slowly went down to less than 10 people. The longer I survived, the better I felt it was worth it to make sure I didn’t let a surge drop me.
  8. As I got close to the finish and was confident I could stay in the lead group to the end, I had a simple wish: to get a group draft boost (the truck) powerup to close the race. I feel that Zwift power-ups are generally only useful in situations where the group as a whole will break up and you need to survive. Or for the final sprint. Since I am a weaker wattage rider, the draft boost would help me use the other riders to move up with less power. I planned to launch at .4 km (slightly over 30 seconds) remaining in the race, hoping the powerup would let me solidify a position. I don’t think I was planning or even hoping I could win, but I did want a top 3. You can see the final seconds below from Zwift – speed, power, heart rate, cadence. My heart rate at 170 is about 95% of my estimated max heart rate but I can only really hold on between 170-175 depending on the day.

Cycling At 40

For a couple of years, I have been slowly inching towards the performance benchmark of 4.0 watts / kg. In cycling, w/kg is the standard way of measuring performance, pound for pound. You may produce more watts because you’re bigger, but what happens when we climb that mountain?

W/kg is not the perfect performance comparison tool but it’s the best cycling has.

This year, I started really strong – I just felt like I was making clear gains on a weekly basis. I came back to the US around New Year’s after a month in Asia. My FTP (a measure of power output) was at 225 watts (I was very sad), but I got up to 250 watts (this is a big jump in a short amount of time) within the spring. I was at 3.8 w/kg with another month or two of work I hoped to reach 4.0 with another gain of 10 or so watts.

Of course, since we’re talking about 2020, COVID blew up. A few months later I moved out of California to the altitude of Colorado, where breathing isn’t quite the same. From reading anecdotes, people often drop around 10% in power going to 5K feet. And that’s what I saw, back to 225w.

Now, at the end of the year I’m around 245w but I just had to send my Saris H3 trainer for repair, and I’ll be without it for a few weeks. I don’t have time to bike outdoors.

I originally hoped to hit 4.0 w/kg to coincide with my 40th birthday, but now I want to hit it during my 40th year (counting western-style). As a cherry on top, I’d love to win any race on Zwift in my current category B during the next year. Racing on Zwift….so hard.