Biking during winter is something that might seem scary, but, at least in Waterloo, it's a genuine blast.
At day, you're surrounded by pure, fluffy white snow, and the crisp winter air wakes you up on your sleepy commute. The city is beautiful, with foot-long icicles hanging from eaves.
At night, both the streets and the forest become totally quiet. You're surrounded by the quiet crunch of snow, the creak of your chain, and your huffing and puffing. The cold is both painful and invigorating.
Biking in snow and ice is definitely intimidating, but you just need to adjust your brain to it. You learn to identify slippery patches and snow you can punch through. You learn to instantly recognize when your rear wheel slips and how to adjust for that. You learn to be oh so careful with your brakes. Take some time to adjust, and you can ride pretty fast. If all else fails, ride slowly and be prepared to put a foot down.
Waterloo is fairly competent at plowing snow out of bike lanes within a day of a fresh snowfall. However, you do have to be careful of snow plows pushing large chunks of snow into bike lanes. These chunks are a gamble, because sometimes you can speed up and punch through them, but other times, they're relentless ice bricks which will send you tumbling.
This winter, I've taken to riding fixed gear. I think that direct connection gives you a better feel of when you're loosing grip, and the simple drivetrain is bulletproof in the salty city streets. It's some generic chinese frame (Aceger) rebadged by a semi-defunt Canadian company, Relentless Cycles, that I picked up for $100 new in box.
Initially set up as 46-16, I decided to swap the 46T front chainring for a 38T for those easier hill starts and greater torque in the snow. I also felt okay, with the slower setup, to go for front brake only, in order to fit some grippy Schwalbe CX Comps. Swapped the horribly unreliable unbranded front brake for some long-reach BR-R451 paired with Kool Stop Salmon Dura pads (crazy good in the wet). Swapped in an indestructible KMC S1 RB chain for that extra corrosion protection, coated in reliable Rock N' Roll Extreme wet lube. Toss on a Topeak FlashFender DF for some butt-streak protection.
Riding in the winter is always a battle between keeping warm and drowning in sweat. Thankfully I find riding keeps me pretty warm, so even down to -10C, I can dress light.
On top, I'll put on a T-shirt, fleece jacket, and Rab Microlight Alpine puffer jacket. Mountaineering and rock climbing gear seems to be pretty tough while still permitting the flexibility required for cycling. Keeping your core warm goes a long way to staying warm. I don't feel like my legs get very cold if I ride at a healthy pace, so any pair of fall-weather pants will do. Dressing just warm enough is a good way to not overheat and show up to your destination sweaty and smelly.
A good pair of insulated gloves is critical, because stiff fingers do not help when trying to brake. When riding, I find that boots are not strictly essential, with your foot only coming down when you stop at intersections. Trail runners are a great middle ground, giving you grip for when you need to hike around a snow mound, while staying light and breathable.
Staying visible is critical in the winter. The sun sets early, and you're hard to see in blowing snow. I like to have a brightly-coloured top (blue!), and pair that with a bright set of front and rear lights. There's an everlasting debate on whether or not you should have flashing lights, so having a front light which has a "breathing" setting is a good compromise on attention-raising and not blinding drivers. I do prefer a blinking rear light though, as rear lights are always dimmer and less noticable than the front light.
Gloves: Mechanix Coldwork Insulated FastFit Plus
I find that work gloves are generally better than cycling gloves if you don't need that padding. Much more rugged and cheaper. This glove is very warm and will keep you comfy even when riding along in -15C weather. Any colder though, and I would probably want liners or pogies.
Head Light: ToWild BR800
Super bright when you need it to be, but it comes with an excellent "breathing" mode that, IMO, is much less stunning to drivers than a flashing light. Mounts via a Garmin computer mount, USB-C charging, easily replaceable 18650 cell, and the hooded light can be flipped over if you mount the light upside down. Great light.
Tail Light: XOSS XR Pro
Reasonably bright with good dynamic braking mode. USB-C charging. Mounts via Garmin-like quick mount, but seems to NOT be compatible with Garmin Varia mounts. Good quality aluminum housing.
Tires: Schwalbe CX Comp (700x30c)
Quite possibly the cheapest non-slick tire out there. Slow and somewhat heavy, but reasonably puncture resistant and grippy on snow. Semi slick center tread for fast rolling, solid outer tread for grip in the corners. 30c was the largest I could go on my frame (requires sacrificing the rear brake).