My suggestion: turn the hub off the shifting gears, and pocket the entire gear out so that your dog pockets turn into teeth that are protruding from the face of the gear. You’ll save a lot of weight.
My suggesstion: Put a shifting rod through the output shaft to avoid having the clyinder offset. Anyway, looks good.
I like how compact this is. It would need additional reduction on the output to be useable as drive. Generally the majority of the reduction is performed before the shift shaft to reduce the torque on this additional reduction.
As it is, I am guessing that low speed has an output of 687 rpm and high is at 2750 rpm. This ratio (4:1) requires some thinking on strategy - Do you want a real slow low gear with a controllable high speed or a reasonable slow speed with a almost out of control high speed. We had the latter in our first two speed. The students called high gear “ludicrous speed”. I usually aim for 3:1 in my gearboxes with 300 rpm on an 8" wheel for high speed.
Good luck!