Preheat an oven to 180c (350f) and prepare a 9 by 9 inch pan with parchment paper.
In a large mixing bowl, add the eggs, sugar, vanilla extract, buttermilk, salt, and oil, and mix with a whisk until well combined.
Add the flour, baking powder, baking soda, and mix it until almost combined.
In a separate small bowl, add the hot coffee and the cocoa powder, and mix it well, this will bloom the cocoa powder and enhance the chocolate flavor.
Add it to the batter and mix it until just combined and there are no lumps of flour visible. Do not overmix it.
Pour the batter into the prepared baking pan and bake the cake in a 180c (350f) preheated oven for about 30-40 minutes or until a toothpick inserted into the cake comes out clean.
Let the cake cool in the pan for 20-30 minutes and poke holes using the back of a fork.
In a medium mixing bowl, add the sweetened condensed milk, milk, evaporated milk, and sift the cocoa powder. Mix with a whisk until well combined and slowly pour it over the cake.
Refrigerate the cake for 30 minutes to allow the cake to soak the liquids and prevent the whipped cream from sliding off the cake.
Make the chocolate whipped cream
In a cold large mixing bowl add the heavy whipping cream, and sift the cocoa powder, and add the sugar and vanilla.
Whip with a hand mixer or in a stand mixer until stiff peaks form. Make sure that you don't overmix the whipped cream so it won't turn into butter.
Top the cake with the cream and spread it evenly. Make swirls using an offset spatula and sprinkle chocolate shavings on top.
Notes
Use room temperature ingredients. It is important that you use room-temperature ingredients like eggs and buttermilk. This step ensures that your mixture mixes into a homogenous mixture and bakes perfectly. you don’t want to place cold batter into the oven.
Don’t overmix the batter, you don’t want to develop the gluten in the flour. This step ensures you have moist cake and not dense and dry cake.
Line your baking pan with parchment paper! This step helps the cake to bake evenly, and it makes sure that your cake will release easily from the pan.
Measure your flour correctly! When measuring your flour, avoid scooping it with a measuring cup. Instead, stir the flour with a spoon to create as many air pockets as possible, and spoon it into your measuring cup. Finally, level it with a back of a knife.
After baking, use a fork or skewer to poke numerous holes all over the cake's surface. This allows the three-milk mixture to penetrate evenly, resulting in a uniformly moist cake.
Pour the milk mixture slowly. Gradually pour the milk mixture over the cake, allowing it to absorb between additions. This prevents overflow and ensures even distribution throughout the cake.
Chill thoroughly. Refrigerate the cake for at least 4 hours, or preferably overnight, after adding the milk mixture. This allows the cake to fully absorb the liquid and develop its signature texture and flavor.
Whip the cream to stiff peaks. When preparing the whipped cream topping, beat it until stiff peaks form. This ensures a stable, fluffy topping that won't melt or slide off the cake.