Imgur member punamenon2 modified an ordinary 5-speed bike so that he can keep moving forward, regardless of the direction that he's pedaling. I'm a bit lost on his technical exploration, but thankfully Rich Bremer of Hack A Day makes it a more understandable. Here's how it works:
When pedaling in the forward direction, the bike acts as a normal bike does where top of the Crank Sprocket pulls the chain and the chain then pulls on the top of the Large Wheel Sprocket. This turns the rear wheel in the forward direction. The portion of the chain that wraps around the Small Wheel Sprocket is traveling in the backward (CCW) direction which doesn’t cause a problem because it is a freewheel, just like how you can pedal backwards on a bike while coasting forward. Since there are two different sized Wheel Sprockets, pedaling in the forward direction is the higher of the two gears.
When pedaling backwards the chain moves in the opposite direction. The bottom of the Crank Sprocket pulls the chain forward which in-turn pulls on the top of the Small Wheel Sprocket. This also turns the rear wheel in the forward direction. The portion of the chain that wraps around the Large Wheel Sprocket is now traveling in the backward (CCW) direction, and again doesn’t cause a problem because it is freewheel.