Any app can make an image smaller. What makes an Instagram resize good is the order of operations: crop to the target ratio first, resize in steps with a proper filter, then sharpen the final pixels, then compress into the range Instagram tolerates. Skip the sharpening step and a downsized photo looks slightly soft; do it before the resize and it does nothing.
This page runs that exact sequence on your device. Nothing is uploaded, which also means a 50-photo batch finishes in seconds instead of waiting on a server queue.