Ingredients 

2 and 1/2 cups (285g) cake flour (spooned & leveled), 2 teaspoons baking powder, 1/2 teaspoon baking soda, 1 teaspoon salt

3/4 cup (12 Tbsp; 170g) unsalted butter, 1 and 2/3 cups (330g) granulated sugar, 5 large egg whites, 1/2 cup (120g) sour cream

2 teaspoons pure vanilla extract, 1 teaspoon coconut extract, 1 cup (240ml) unsweetened canned coconut milk, 1 cup (80g) sweetened shredded coconut

1 cup (16 Tbsp; 226g) unsalted butter, 8 ounces (226g) full-fat brick cream cheese,  5 cups (600g) confectioners' sugar

2 Tablespoons (30ml) canned coconut milk, 1/2 teaspoon pure vanilla extract, 1/2 teaspoon coconut extract, 1/8 teaspoon salt, 2 cups (160g) sweetened shredded coconut

Instructions 

Preheat oven to 350 degrees F (175 degrees C). Grease and flour two 9-inch round cake pan

In a large bowl, cream together the butter and sugar until light and fluffy. Beat in the egg whites one at a time, then stir in the vanilla and coconut extracts.

In a separate bowl, whisk together the flour, baking powder, baking soda, and salt. Add to the wet ingredients alternately with the sour cream and coconut milk, beating until just combined.

Pour the batter into the prepared cake pans and bake for 25-30 minutes, or until a toothpick inserted into the center comes out clean. Allow the cakes to cool completely before frosting.

In a large bowl, cream together the butter and cream cheese until light and fluffy. Beat in the confectioners' sugar, coconut milk, vanilla and coconut extracts, and salt until smooth.

To assemble the cake, place one layer on a serving plate and spread with half of the frosting. Top with the second layer and spread with the remaining frosting.