Currently the potentiometer does not allow for a smooth increase in speed at all.
That is likely because you are using, blocking, delay() in your code. The Arduino does nothing during a delay() so cannot respond to input quickly.
Robin2's simple stepper code has an example using micros() for non-blocking timing stepper steps.
Non-blocking timing tutorials:
Several things at a time.
Beginner's guide to millis().
Blink without delay().
If you want to reverse the value from analogWrite() you can use:
reverseValue = 1023 - analogRead(analogInputPin); // analog read = 1023, reverseValue = 0
Read the how to use this forum-please read sticky to see how to properly post code. Remove useless white space and format the code with the IDE autoformat tool (crtl-t or Tools, Auto Format) before posting code.