Prepare the Oven
Preheat the oven to 350°F (175°C).
Grease and line two 9-inch round cake pans with parchment paper.
Mix the Dry Ingredients
In a medium bowl, whisk together:
Flour
Baking powder
Baking soda
Salt
Set aside.
Cream the Butter and Sugar
In a large mixing bowl, beat the butter and sugar together for 3–4 minutes, until light and fluffy.
Add the eggs one at a time, mixing well after each addition.
Mix in the vanilla and coconut extracts.
Combine
Alternate adding the dry ingredients and coconut milk, beginning and ending with the flour mixture.
Mix just until combined.
Fold in the shredded coconut.
Bake
Divide the batter evenly between the prepared pans.
Bake for 30–35 minutes, or until a toothpick inserted into the center comes out clean.
Cool in the pans for 10 minutes before transferring to a wire rack to cool completely.
Whipped Cream Frosting
Beat the Cream Cheese
Beat the softened cream cheese until smooth.
Add the powdered sugar, vanilla, and coconut extract.
Whip the Cream
In a separate chilled bowl, whip the heavy cream until stiff peaks form.
Gently fold the whipped cream into the cream cheese mixture until light and fluffy.
Do not overmix.
Assemble the Cake
Place one cake layer on a serving plate.
Spread a generous layer of whipped cream frosting over the top.
Add the second cake layer.
Frost the top and sides of the cake.
Press shredded coconut onto the sides and sprinkle more over the top.
Garnish with toasted coconut flakes or fresh berries if desired.