In a large skillet, warm 3 tbsp oil over medium heat. Season the fillet front to back with salt and pepper. When the oil is shimmering, cook the fish skin-side down without moving for 4 minutes to get a nice crisp skin. Lower the heat a bit if you see smoke. Flip and cook the other side for 2-4 minutes or until fully cooked. Remove and rest on a plate (skin-side up).
Return the skillet to the heat, saute the shallot and ginger with a pinch of salt, stirring constantly for 10 seconds. Add the bok choy, carrots, and kaffir lime leaves and sauté over medium low heat for 1 minute.
Add coconut milk, raise heat a bit to medium to simmer for 5 minutes. Portion the broth and vegetables into bowls and top with the fish (skin-side up). Season with red pepper flakes or fresh chili pepper if you want a little spiciness to cut through the richness of the broth.