Preheat oven to 350°. Line cupcake tins with liners (makes 12-15).
Whisk flour, baking powder, and salt in a medium bowl.
Add melted butter to a large bowl and mix in sugar with a hand mixer for 30 seconds until thick and yellow. Add eggs one at at time, beating after each addition. Beat in vanilla.
Add the flour mixture and buttermilk alternately, starting and ending with the flour. Don’t over mix!
Divide batter among liners, filling 2/3 full. Bake for 15-20 minutes until a toothpick comes out clean. (Mine took less than 20, so check at 15!) Cool completely before frosting!
To make the filling, if using: beat heavy cream and powdered sugar until stiff peaks form. Whisk in both extracts.
To make the frosting: Beat butter until creamy. Beat in salt and 1 cup of powdered sugar at a time until crumbly. Beat in vanilla and 1 tablespoon of heavy whipping cream. Add more cream as needed for desired consistency.
To fill cupcakes: you can either fill a pastry bag fitted with a round tip and poke it into the center of the cupcake to fill, or you can carefully cut out a hole in the center and fill with a spoon.
Frost cupcakes by placing frosting in a pastry bag. I like the 1M tip, it gives pretty swirls. Add sprinkles for fun!
Note: you can make the frosting the day before, but let it come to room temperature before using.