The core progression is laid out as transparently as I'm able in the Combat section of each class - a martial class advances in saves/attacks two points every three levels of experience starting at THAC0 18[+1], clerics and thieves advance two points every four levels of experience starting at THACO 19[+0], and magic-users advance two points every five levels of experience starting at THACO 19[+0].
The decision to start fighter-riffs at 18[+1] was inspired by playing Lamentations of the Flame Princess, where fighters are just noticeably better at fighting even at level 1, before any Experience gets integrated into a character. I think that today's gaming environment (be it 5e or OSR) is so much more focused on pick-up games and short campaigns rather than these multi-year megadungeons from the 1980s that having early differentiation is really important.
You'll note that I adjust languages to not be INT-dependent, but just have them be appropriate for the campaign. I think in general it's silly and culturally reductive to tie languages down so much to class rather than to campaign setting. In our real world, we have societies that have always been multilingual in parts of Europe and the Middle East, as well as societies that basically only have one language. I think fantasy worlds should be free to have that nuance too, without INT-locking.
One thing I do in my design process is that I start all my classes in Excel (or any other spreadsheet program), so that I can compare Experience Curves, Hit Dice, THAC0, and Saves to each other, side-by-side. Spreadsheets are a powerful tool to help me identify patterns, break patterns, and the like. I even do this for base game classes, so that I have a reminder of what each edition of D&D has changed - for instance, did you know that the OD&D magic-user's EXP curve scales completely differently from the B/X magic-user's EXP curve? Seeing trends like that as clearly as possible helps clarify what sort of decision-making you need to make for the final product.
Excel also makes it easy to double-check if my conversions are what I want them to be - you'll notice that I moved all the d100 thief skills to the d20, copying what Adventurer Conqueror King did. I think that this may reduce coherency to new players because it's easier to think in percent than in d20's 5% increment buckets, but it means fewer dice that the player needs to keep track of, which is a plus for me. Anyway, Excel helps me double-check calculations quickly if I need to.
My final note is...just make sure that when you apply a mathematical shift, you apply it as consistently as possible. Example: my Cleric+ class has spells at level 1 (again driven by the fact that our play culture has changed and a lot of people may never level up their cleric in a pick-up game), and I didn't want to just have that single change. I also didn't want to take the Labyrinth Lord approach, where the spell progression is completely changed from B/X to be something more AD&D-inspired.
So, I wrote out an algorithm for how the base spells for the cleric would improve past L1. I think it was N+ceiling(N/4)? So yeah, doing something like this doesn't make your design more "valid", but it does make it reproducible if you want to build, for instance, multiple classes with whatever your new scaling is compared to the original one.