Preheat your oven to 350°F (175°C). Grease and line two 8-inch round cake pans with parchment. Grease the sides well to prevent sticking.
In a large mixing bowl, whisk together flour, cocoa powder, sugar, baking powder, baking soda, and salt until evenly blended and no cocoa clumps remain.
Add eggs, buttermilk, oil, and vanilla.
Whisk or mix on low until the batter looks smooth and thick. Don’t overmix; just combine until you no longer see dry spots.
Pour in the hot coffee. The batter will thin out, which is normal.
Stir until fully combined and glossy.
Divide the batter evenly between the two pans. If using mini chocolate chips, sprinkle them in now and lightly swirl.
Bake for 28–34 minutes, or until a toothpick comes out with a few moist crumbs. Do not overbake or the cake will lose its fudgy texture.
Cool the cakes in their pans for 10 minutes. Turn out onto wire racks, remove parchment, and let cool completely before frosting.
Make the fudge frosting: In a medium saucepan over low heat, melt the butter.
Whisk in cocoa powder until smooth and fragrant, about 30 seconds.
Remove from heat and whisk in milk (or cream), then gradually sift in powdered sugar, beating until thick and glossy. Add vanilla and a pinch of salt. If too thick, add a splash of milk; if too thin, add a little more powdered sugar.
Assemble the cake.
Place one layer on a plate, spread a generous layer of frosting, then top with the second layer. Cover the top and sides with the remaining frosting. For a clean finish, chill for 15 minutes, then smooth with a warm offset spatula.
Finish with a light sprinkle of flaky sea salt or a few berries if you like.
Slice and serve.