Hi DB8TF yes your sw drift corr is a cool idea. However you are dependent on the cw beacon always being available ( they have turned it off one time already as far as I know).
Many times people also transmit (almost) on top of the cw beacon to check their power level and frequency etc. This can cause problems with such a scheme if the FFT peak selector algorithm of yours locks onto the wrong FFT bin because the guy sending almost ontop of the beacon is stronger etc etc etc
(I took a quick look at your .py code. Cool concept for sure). Also not always do we have the possibility for cat control of the receiver.
That's why I at least for now would like a hw based approach.