Preheat oven to 350°. Line a 12-cup muffin pan with cupcake liners.
Whisk the flour, cocoa powder, salt and baking soda together in a small mixing bowl.
Using a handheld or stand mixer, cream butter and sugar together on medium speed until light and fluffy, 3-4 minutes. Scrape down the sides of the bowl, add the egg and yolk and beat until well combined. Add vanilla and mix until well incorporated. With the mixer running on low speed, add 1/2 of the dry ingredients until most is incorporated. Add 1/2 of the buttermilk and mix until just combined. Repeat this process with the 2nd half of the dry ingredients and buttermilk.
Scoop the batter into the cupcake liners. Fill each liner about 2/3 of the way.
Bake for 16-18 minutes or until a toothpick inserted in the middle comes out clean. Cool completely before frosting.
Using a handheld or stand mixer, combine softened butter, confectioner's sugar, vanilla extract, 2 tbsp of heavy cream and the salt.Turn the mixer on to low speed and mix until mostly combined.Turn mixer up to high speed and whip the frosting until is it light and airy. Add additional heavy cream as needed to reach your desired consistency.
Frost your cupcakes and top with your favorite decorations.
I like using a cookie scoop to put the batter into the cupcake liners. This keeps it clean and ensures that each cup is equally filled.