Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a mixing bowl, cream butter and sugar until fluffy.
Add eggs one at a time, then stir in vanilla.
In another bowl, whisk flour, baking powder, baking soda, and salt.
Alternate adding dry ingredients and coconut milk into the butter mixture.
Fold in shredded coconut, then divide batter into pans.
Bake for 30–35 minutes, or until a toothpick comes out clean.
Cool completely before frosting.
For frosting, beat butter, powdered sugar, coconut milk, and extract until smooth.
Frost cake layers and cover with shredded coconut.