Preheat the oven to 180°C and line a cupcake tray with paper liners.
In a large bowl, sift together 150 grams of all-purpose flour, 30 grams of cocoa powder, 1 teaspoon of baking powder, and 1/2 teaspoon of baking soda.
In another bowl, whisk together 100 grams of granulated sugar, 100 grams of brown sugar, 120 ml of vegetable oil, and 2 large eggs until well combined.
Gradually add the dry ingredients to the wet ingredients, alternating with 120 ml of buttermilk, and mix until just combined.
Stir in 1 teaspoon of vanilla extract and 120 ml of hot water, mixing until the batter is smooth.
Fill the cupcake liners 2/3 full with the batter and bake for 18-20 minutes, or until a toothpick inserted in the center comes out clean.
Allow the cupcakes to cool completely on a wire rack before frosting.
For the frosting, beat 200 grams of unsalted butter until creamy, then gradually add 400 grams of powdered sugar, 50 grams of cocoa powder, 1 teaspoon of vanilla extract, and 60 ml of milk, mixing until smooth and fluffy.
Pipe the frosting onto the cooled cupcakes and garnish with chocolate shavings or sprinkles, if desired.