Preheat oven to 350°F (175°C) and line a muffin tin with 12 cupcake liners.
In a bowl, mix flour, shredded coconut, baking powder, baking soda, and salt.
In a separate bowl, cream butter, coconut oil, and sugar until light and fluffy (4–5 minutes).
Add eggs one at a time, mixing well after each. Stir in coconut extract.
Alternate adding dry ingredients and coconut milk: start and end with dry. Mix just until combined.
Fill cupcake liners 2/3 full. Bake for 18–22 minutes or until toothpick comes out with moist crumbs.
Let cupcakes cool completely on a wire rack before frosting.
For the buttercream, beat butter until fluffy (3–4 minutes). Add lime zest and a pinch of salt.
Gradually add powdered sugar, then lime juice one tbsp at a time. Adjust consistency with milk/cream.
Frost cooled cupcakes using a piping bag or spatula. Optional: sprinkle toasted coconut on top.