Preheat your oven to 350°F (175°C).
Grease and flour two 9-inch round cake pans.
In a large bowl, cream together the softened butter and granulated sugar until fluffy.
Add the eggs, one at a time, beating well after each addition.
Mix in the crushed pineapple and coconut milk until well combined.
In a separate bowl, whisk together the flour, baking powder, baking soda, and salt.
Gradually add the dry mixture to the wet ingredients, mixing just until combined.
Fold in the shredded coconut gently.
Divide the batter evenly between the prepared pans and smooth the tops.
Bake for 25-30 minutes, or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes, then transfer to a wire rack to cool completely.
While cooling, prepare the frosting by creaming the softened butter and powdered sugar together.
Add the coconut milk and mix until the frosting reaches a spreadable consistency.
If desired, fold in crushed pineapple to the frosting for added flavor.
Once the cakes are completely cool, frost the top of one layer, then place the second layer on top and frost the top and sides of the cake.
Garnish with additional shredded coconut if desired, then slice and serve.