Preheat oven to 325 degrees.
In a mixing bowl whisk together the flour, baking soda, baking powder and salt. Set aside.
Using a mixer with a paddle attachement, beat the softened butter, sugar and salt until light and fluffy.
On low speed, add each egg one at a time and mix until combined. Add in vanilla and almond extract and mix until combined.
Slowly add in the flour mixture and the butter milk, starting with the dry ingredients, then wet, finishing with dry.
Mix in half the bag of sweetened coconut until combined and set the rest aside.
Fill cupcake liners about half way. If you're using largeer liners like I did the recipe will only make 12 cupcakes. Fill each cup about half way full.
Bake for 30-35 minutes or until a tooth pick comes out clean.
Once done place on a cooling rack to cool completely.
In a mixer with a paddle attachement, beat the butter, cream cheese, sugar and salt until light and fluffy on medium speed.
Mix in the vanilla and almond extract. Mix until incorporated.
Slowly add the confectioner's sugar a small amount at a time until smooth and combined.
Add the milk just a tablespoon at a time until at desired consistancy.
Load a piping bag with a large icing tip of choice and pipe onto cooled cupcakes. Top with leftover sweeted coconut.