my suggestion is aswell use MM2. You don’t have to start from scratch that costs a ton of time and makes asking harder.
For most stuff there is already someone that has done something similar thats helps.
As an example my setup is
MM2 as info displays (probably multiple mirrors sooner or later)
The standalone offline voice recognition snips for all smarthome stuff (obviously works with all the online alexa stuff ect aswell)
And as general backbone that really controls all the smarthome stuff something like openhab/homeassistant.
Those are all great software parts that support you. you obviously can live for example without openhab/homeassistant and do controls directly with modules in MM2, but the moment you have many devices you want to control it kind of gets messy. (I am a big fan of keeping the software parts simple so you can maintain something without being scared that suddenly everythings broken)
Obviously same for stuff like your machine learning. I would just have it run standalone with just a couple connections to for example MM2 to tell it which user it recognised.
What language stuff should you learn? Your experienced with java and python, so just use them. Can’t really see a reason to use another when your good in them.
So my suggestion is use this premade software out there. You obviously can develop the wheel again, but you probably spend a ton of time without getting a better endproduct (would be more of a educational thing to rebuild something like that xD)
Then you can spend all your time on really building the stuff you want to build like this facial recognition.
Is a year enough? Well hard to say for me it would be never because with my smarthome stuff it’s really always the same thing I build one thing and already have 5 ideas for new stuff to add.