Make the Cupcakes:
Preheat Oven to 350°F (175°C). Line a 12-cup muffin tin with paper cupcake liners.
Mix Dry Ingredients: In a medium bowl, whisk together flour, baking powder, and salt. Set aside.
Cream Butter & Sugar: In a large mixing bowl, beat butter and sugar together with an electric mixer until light and fluffy (about 2–3 minutes).
Add Eggs & Flavorings: Beat in eggs one at a time, then add vanilla and coconut extract.
Alternate Dry & Wet Ingredients: Add the flour mixture in three parts, alternating with coconut milk and whole milk, beginning and ending with the flour mixture. Mix until just combined.
Fold in Coconut: Gently stir in shredded coconut.
Fill & Bake: Divide batter evenly into cupcake liners, filling each about ⅔ full. Bake for 18–22 minutes or until a toothpick inserted in the center comes out clean.
Cool Completely: Remove cupcakes from the pan and let cool on a wire rack.
Make the Coconut Buttercream Frosting:
In a large bowl, beat butter until creamy (about 2 minutes).
Gradually add powdered sugar, 1 cup at a time, beating well after each addition.
Add coconut milk, coconut extract, and salt, and beat until light and fluffy (2–3 minutes). Adjust consistency with more coconut milk if needed.
Frost the Cupcakes:
Once cupcakes are completely cooled, frost with coconut buttercream using a piping bag or spatula.
Sprinkle with shredded coconut for garnish.