Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large mixing bowl, combine the flour, granulated sugar, baking powder, and salt. Add the softened butter, coconut milk, eggs, and vanilla extract. Beat on medium speed for about 2 minutes until well combined.
Fold in the shredded coconut until evenly distributed. Divide the batter between the prepared cake pans.
Bake for 25-30 minutes, or until a toothpick inserted into the center comes out clean. Allow the cakes to cool in the pans for 10 minutes, then transfer to wire racks to cool completely.
In a separate bowl, whip the heavy cream with the powdered sugar and coconut extract until stiff peaks form.
Once the cakes are completely cool, place one layer on a serving plate. Spread a layer of whipped cream on top, then place the second cake layer on top. Frost the top and sides of the cake with the remaining whipped cream.
Chill the cake in the refrigerator for at least 30 minutes before serving to set the frosting.