Cake
Preheat oven to 350F (175C). Grease and flour a 9-inch round cake pan.
In a medium bowl, whisk together cake flour, baking powder, baking soda, and salt.
In a large bowl, cream together butter and sugar until light and fluffy. Beat in eggs one at a time, then stir in vanilla extract.
In a small bowl, whisk together coconut milk and shredded coconut.
Gradually add dry ingredients to the wet ingredients, alternating with the coconut milk mixture, beginning and ending with the dry ingredients. Mix until just combined. Do not overmix.
Pour batter into prepared pan and bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean.
Let cool in pan for 10 minutes before inverting onto a wire rack to cool completely.
Frosting
In a large bowl, cream together butter and confectioners' sugar until light and fluffy.
Gradually add coconut milk, vanilla extract, and salt, beating until smooth and creamy.
Assembly
Once the cake is completely cool, frost the top and sides with the coconut buttercream frosting.
Sprinkle with additional shredded coconut.
Slice and serve.
Optional Tips: For a more intense coconut flavor, toast the shredded coconut before adding it to the batter and for topping. To toast, spread coconut in a single layer on a baking sheet and bake at 350F (175C) for 5-7 minutes, or until lightly golden. Watch carefully, as it burns easily. If cake flour is unavailable, all-purpose flour can be used, but the cake will be slightly denser. Reduce the all-purpose flour by 2 tablespoons per cup. To prevent the cake from sticking, line the bottom of the pan with parchment paper before greasing and flouring.