I think the idea is good but you could work on the execution. I recommend adding coyote time, jump buffering and a variable jump. Coyote time makes it so when I leave the platform I have a small time frame during which I can still jump. Jump buffering means if I press jump right before I touch the ground, the game will remember it and once I touch the ground I will jump. Variable jump makes me jump higher when I'm holding jump and makes me jump lower when I tap jump. My explanations are not the best and I recommend you just search them up.