Apologies, merry holidays, and wishing well for a new year.
I think much like PKSM, having a GUI separating generations is necessary, but also give the user the ability to search by game (to see if it would be 'legal' in said version (No Guard Fissure Machop Gen. 2 = NO)), name, pokédex number and Alolan pokédex (for Alolan variants).
After selection, maybe you could build-a-mon with progression checks--for example: I choose Gen.7=OK, a Caterpie=OK, shiny=OK, display all possible abilities (Shield Dust is selected)=OK, display all possible moves (Tackle, String Shot are selected)=OK, which would lead to a 'legal' next to the build versus: Gen.7=OK, a Solagaleo=OK, shiny=NO or Gen.7=OK, Oranguru=OK, shiny=OK, Symbiosis=NO, ETC,.
You could probably build off the the bones from 'Showdown' and maybe even add all possible locations to catch said 'mon, lowest/highest level obtainable, and so on.
Is that what you meant by 'how'?