Pre-heat oven to 350 degrees. Grease and flour three 8-inch pans and set aside.
Sift together the flour, baking powder, salt and espresso powder. Set aside.
Using an electric mixer, beat the butter until smooth. Add the sugar and brown sugar and increase the speed to medium-high. Continue mixing until the butter and sugars are creamed together. The mixture should be light and fluffy.
With the mixer on low, add in the vanilla followed by the eggs, one at a time. Stop the mixer and scrape down the sides and bottom of the bowl.
In alternating batches, add in half of the dry ingredients, followed by the whole milk, then the remaining dry – mixing on low in between. Mix until the batter is just combined then scrape down the bowl. With the mixer on low, stream in the hot coffee and mix until smooth.
Evenly distribute the batter between the three pans. Bake in a pre-heated oven for about 24 to 26 minutes, or until a toothpick inserted into the center of the cakes comes out clean. Let cool on a wire rack for about 10 minutes before removing the cakes from their pans.
Make the Coffee Soak:
Combine all of the ingredients together in a saucepan. Over medium-high heat, bring the mixture to a slight boil. Lower the heat and simmer on low for about 5 to 10 minutes. Remove from the heat and allow to cool until use.
Make the Caramel Buttercream:
Place the egg whites and sugar in the bowl of an electric mixer. Gently whisk until combined.
Place mixing bowl over a pan of simmering water to create a double-boiler. Whisking constantly, heat the egg mixture until it registers 160 degrees on a candy thermometer. Carefully transfer the bowl back to the stand mixer.
Using the whisk attachment, whip the egg mixture on high for 8 to 10 minutes until stiff, glossy peaks and the outside of the mixing bowl returns to room temperature.
Switch to the paddle attachment. With the mixer on low, slowly add cubed butter and mix until incorporated.
Add vanilla extract and whip on medium until silky smooth, about 3 to 5 minutes.
Reserve 1 cup of the vanilla buttercream and set aside. To the remaining buttercream, add the caramel sauce and beat the frosting on medium speed until silky smooth.
Assemble the Cake:
After the cakes have cooled, trim the tops as needed until level. Generously brush the cakes with the coffee soak.
Place the bottom cake layer on a cake board or serving dish. Spread on about 1 cup of caramel buttercream with an offset spatula. Top with the next layer of cake and repeat.
Use the remaining caramel buttercream to frost the entire cake. Fill a piping bag fitted with a medium round piping tip with the reserved vanilla buttercream. Pipe dollops of frosting around the top edge of the cake. Top with coffee beans and a few pinches of cocoa powder.
If at any point the buttercream appears curdled, just keep mixing. If the buttercream appears soupy, try placing it in the refrigerator for about 10 to 15 minutes then mixing again.