Preheat your oven to 350°F (175°C). Grease and line a 9x13 inch baking pan with parchment paper.
In a large bowl, whisk together the flour, sugar, shredded coconut, baking powder, baking soda, and salt until combined.
In another bowl, whisk together the coconut milk, vegetable oil, eggs, lime zest, lime juice, and vanilla extract until smooth.
Pour the wet ingredients into the dry ingredients and mix until just combined. Do not overmix; a few lumps are okay.
Pour the batter into the prepared baking pan and spread it evenly. Bake for 30-35 minutes or until a toothpick inserted into the center comes out clean. Let the cake cool in the pan for about 10 minutes before transferring it to a wire rack to cool completely.
In a large bowl, beat the softened butter until creamy. Gradually add the powdered sugar, mixing on low speed until combined. Add the coconut milk, lime zest, and lime juice, and beat on high speed until the frosting is light and fluffy.
Once the cake is completely cool, spread the lime coconut frosting evenly over the top.
Sprinkle the toasted coconut flakes over the frosted cake for an extra touch of flavor and texture.
Slice and serve the cake chilled or at room temperature.