Mix all ingredients (except butter) together in a medium-sized bowl until well combined. Don't overmix. The mixture should stick together some, but still be relatively loose. It will not be thick like a dough.
Melt butter, ghee, or avocado oil in a large cast iron skillet over medium-low heat. You want a good layer of oil, so if your skillet is very large then you may need a bit more butter/oil.
Once the butter/oil is hot, scoop up 1/4 cup of the shrimp mixture and gently place it in the pan. I use a 1/4 cup measuring cup but you can also use an ice cream scoop or large spoon.
Repeat this process until the pan is full, leaving plenty of space in between the shrimp cakes for flipping. You will be cooking about 3 to 5 shrimp cakes at a time, depending on how large your pan is.
Allow them to cook for 5 minutes, then carefully flip with a thin spatula. Press each one down a little bit after flipping. Just enough to make more of a disk shape, but not too much that they fall apart.
Cook for another 5 minutes. Both sides should be nicely browned like the shrimp cakes in the pictures. If they are not browned enough, increase your heat a bit and cook for a little longer.
Remove the shrimp cakes to a paper towel-lined cooling rack using a thin spatula.
Repeat the cooking process for the second round of shrimp cakes. You may need to do three batches, depending on your pan size.