Prep Your Pans: Preheat your oven to 350°F (175°C). Grease and flour three 8-inch round cake pans, and line the bottoms with parchment paper for easy removal.
Mix the Dry Ingredients: In a large bowl, whisk together the flour, sugar, baking powder, baking soda, and salt.
Add the Butter: Using a mixer, add the softened butter one tablespoon at a time. Mix until the mixture looks sandy.
Combine Wet Ingredients: In a separate bowl, whisk together the buttermilk, eggs, vanilla extract, and almond extract.
Bring It All Together: Slowly pour the wet ingredients into the dry mixture while mixing on low speed. Once combined, fold in the coconut and pecans with a spatula.
Bake: Divide the batter evenly between the prepared pans and bake for 30 minutes, or until a toothpick comes out clean. Let the cakes cool in the pans for 10-15 minutes before transferring them to a cooling rack.
Make the Frosting: While the cakes cool, beat the butter and cream cheese until smooth. Add the extracts and salt, then gradually mix in the powdered sugar until the frosting is creamy.
Assemble the Cake: Level the cakes if needed, then stack them with a generous layer of frosting between each. Frost the outside of the cake and decorate with chopped pecans and toasted coconut.