Peel and devein the shrimp, reserving the shells. Place the shrimp shells and coconut milk in a small saucepan. Bring to a gentle simmer and cook for 10–15 minutes, stirring occasionally. Strain the coconut milk, pressing the shells lightly to recover as much liquid as possible. Discard the shells.
Pat the shrimp dry and season with the kosher salt, black pepper, and garlic powder.
Heat 1 tablespoon of the butter and the avocado oil in a large skillet over medium-high heat. Arrange the shrimp in a single layer and sear for about 1 minute per side. The shrimp should have some color but should not be completely cooked. Transfer the shrimp to a plate.
Add the roughly chopped spinach to the skillet. Cook, stirring frequently, just until wilted. Transfer the spinach to a bowl and set aside.
Reduce the heat to medium and add the remaining 1 tablespoon butter. Once melted, add the onion and jalapeño. Cook for 3–4 minutes, stirring occasionally, until softened.
Add the ginger and garlic and cook for about 30 seconds. Stir in the turmeric, coriander, and paprika and cook for another 30 seconds to bloom the spices. Add the gochujang and cook for 30 seconds, stirring constantly.
Pour in the shrimp-infused coconut milk and stir in the fish sauce. Bring the sauce to a gentle simmer and cook uncovered for 3–5 minutes.
Whisk the cornstarch and cold water together until completely smooth. Stir the slurry into the simmering sauce and cook for about 1 minute, stirring frequently, until the sauce thickens.
Stir in the lime juice and taste the sauce. Adjust the seasoning if needed.
Return the spinach, shrimp, and any accumulated juices to the skillet. Simmer gently for about 1 minute, just until the shrimp are cooked through. Serve immediately over jasmine or basmati rice.