01 - Preheat the oven to 350°F. Grease and flour two 9-inch round cake pans, then line bottoms with parchment paper.
02 - In a medium bowl, whisk together flour, baking powder, and salt until well combined.
03 - In a large bowl, beat butter and sugar with an electric mixer on medium speed until pale and fluffy, about 3 to 4 minutes.
04 - Beat in eggs one at a time, mixing thoroughly after each addition. Stir in vanilla and coconut extracts until incorporated.
05 - Add flour mixture in three parts, alternating with coconut milk, beginning and ending with flour. Mix just until combined, being careful not to overmix.
06 - Gently fold shredded coconut into the batter using a rubber spatula until evenly distributed.
07 - Divide batter evenly between prepared pans. Smooth tops with a spatula. Bake for 30 to 35 minutes, or until a toothpick inserted in the center comes out clean.
08 - Let cakes cool in pans for 10 minutes, then carefully turn out onto wire racks to cool completely before frosting.
09 - Beat butter until creamy. Gradually add powdered sugar, coconut milk, vanilla, coconut extract, and salt. Continue beating until light and fluffy.
10 - Place one cake layer on a serving plate. Spread with an even layer of frosting. Top with second layer and frost the top and sides completely.
11 - Press shredded coconut over the entire frosted cake, covering top and sides. Decorate with pastel candies or chocolate eggs if desired.