Doge meme generator in Racket
There's lots of indentation that should be on a single line instead.
Including most of the lets.  There's also no reason to keep nesting
lets when you can just add additional definitions in a single let.
E.g. for make-gui it's entirely feasible just to have a single let
instead of four.

The save-but function doesn't need "./" in there, that's already
what will happen there's no additional path specified.

The bitmap should be only read once from disk; the additional read when
pressing the button is not necessary.  Hard coding the 700x500
dimensions into the code is also something that could be fixed by
querying the image (or the thing it's drawing on) for its size instead,
making it way more flexible in the process.  You should probably also
add a way to specify the output (and input) filename while you're at it.

random-member is not efficient, see
Rosetta Code,
i.e. it should be something like (list-ref my-list (random (length my-list))) instead, while not shuffling the entire list.

Otherwise I don't see too much to complain about; the variable names
could be more descriptive (save-but) and less truncated (horiz),
also the overuse of my- is a bit annoying (by which I mean that the
prefix doesn't provide the reader with any additional information).