Preheat the oven to 350°.
For the Cake: Cream together the butter and sugar in a standing mixer with the paddle attachment on high speed until light and fluffy.
Next slowly add in the egg whites, coconut extract and coconut shreds on low speed until it is combined.
In a large bowl mix together the flour and baking powder and set aside.
Alternately add the dry ingredients and coconut milk beginning with the dry and ending with the dry ingredients. Stop and scrape often.
Transfer the batter to 3 9” greased cake pans and bake for 30 minutes or until lightly browned on top and firm in the center. Cool completely.
For the Icing: Whip the cream cheese and butter in a standing mixer with the paddle attachment on high speed until light and fluffy.
Stop and add in the coconut extract and powdered sugar and slowly turn on the speed to low making sure to stop if powdered sugar begins to come out.
Mix until combined.
Frost each layer of the cake and stack. Frost the top and outside of the cake and gently press the coconut shreds around the entire cake.
Serve at room temperature.