Preheat the oven to 350℉. Grease and flour an 11x7-inch baking pan or line it with parchment paper.
In a large mixing bowl, whisk together the flour, granulated sugar, baking powder, and salt.
Add the softened butter, coconut milk, eggs, and vanilla extract to the dry ingredients. Mix with an electric mixer on medium speed for about 2 minutes, until the batter is smooth and well combined. Gently fold in the shredded coconut using a spatula until evenly distributed.
Gently fold in the shredded coconut using a spatula until evenly distributed.
Pour the batter into the prepared pan and spread it evenly. Bake for 25 to 30 minutes, until a toothpick inserted in the center comes out clean. Let the cake cool completely.
To make the frosting, beat the softened butter in a mixing bowl until creamy. Gradually add the powdered sugar, mixing well after each addition. Add the coconut milk and continue beating until light and fluffy. Fold in the shredded coconut, reserving a small amount for topping.
Once the cake is fully cooled, spread the frosting evenly over the top. Sprinkle with additional shredded coconut if desired. Slice into 12 and serve.