First, roast your pecans. Preheat oven to 350° Fahrenheit. Spread whole, unsalted pecans on a cookie sheet and pop in the oven for 10-15 minutes until the nuts are a bit darker, dry, and smell fragrant (be careful not to let them burn!). Remove and let cool, then chop into small bits.
Then, make the coconut pecan topping. In a medium sauce pan, combine the egg yolks, evaporated milk, and vanilla and stir constantly with a wooden spoon or spatula while cooking over medium low heat. Once combined and silky, add in the brown and white sugars and butter and continue to cook, stirring constantly, until the butter is melted and the sugars have dissolved. Continue to cook for 12-15 minutes until thick and caramel-like. Add in the sweetened shredded coconut and chopped toasted pecans and stir until completely combined. Once mixed, remove from heat and let cool.
Then, line two cupcake trays with paper liners then set aside. In a large bowl, beat together the oil, sugar, and eggs until lighter and fluffy. Add in the vanilla, and melted and cooled chocolate and beat until lighter and smooth. Add in the buttermilk and beat until combined. Add in the flour, baking powder, salt, and cocoa powder and stir together with a spatula until smooth. Pour in the hot coffe and stir until combined and silky.
Pour cupcake batter into the lined pans - each cupcake liner should be about 3/4 of the way full. Bake for 15-18 minutes at 350° Fahrenheit or just until the tops spring back with touched or a toothpick inserted into the center of one cupcake comes out clean. Let cool completely before frosting.
While the cupcakes are baking, make the buttercream! In a large bowl, using an electric mixer, beat together the butter and 1/2 cup of the powdered sugar until smooth and creamy. Add in the rest of the powdered sugar 1 cup at a time until combined, then add in the cocoa powder and beat, on low, until combined. Add in the vanilla and salt and continue to beat until fluffy and lighter. Scoop buttercream into a piping bag.
Once the cupcakes and the topping are cool, scoop about a 1/4 cup of the topping onto the top of each cupcake, then pipe the buttercream in a circle around the edge of the topping like the pictures above. Once completely frosted, serve!