Neat, but overly complicated.
I would think the best way to do automatic shifting would be centrifugal switch somewhere in the back wheel, which would select a gear based on the bike's speed, or perhaps a cadence sensor that would do the same thing based on how fast you're pedaling.
Centrifugal's been done multiple times in the past only to add weight and not work well. Cadence sensor would be better but the speed sensor would have to also be used to figure out if your coasting down a hill or coming up to a stop light.