Preheat your oven to 350°F degrees. Line cupcake tins with liners and set aside.
Whisk together the flour, baking powder, and salt in a medium bowl and set aside.
In a large bowl with an electric mixer or a stand mixer fitted with the paddle attachment, stir together the sugar and oil until combined.
Adding 1/4th of the egg whites at a time, beat on medium speed until all the eggs are fully incorporated.
Add the almond and vanilla extracts and beat on medium speed until combined.
Add 1/2 of the flour mixture and sitr until combined.
Add ½ of the buttermilk and stir until combined.
Repeat with the remaining flour mixture and buttermilk until smooth. Scrape down the sides as needed.
Add 3 tablespoons of the cupcake batter to each liner. You may have a little batter left over, but that’s okay.
Place the cupcakes in the oven and bake for 15-20 minutes, or until a toothpick comes out clean when inserted into the center.
Remove the cupcakes from the oven and allow them to cool in the pan for 5 minutes. Remove them from the pan and place them on a cooling rack to cool completely before frosting.
Once the cupcakes are cool, make the frosting by adding the butter to the body of a stand mixer with the paddle attachment or in a large bowl with an electric mixer, and whip until smooth.
Slowly add in the powdered sugar a little at a time until fully mixed in; scrape the sides as needed. The mixture will be thick.
Add the heavy cream, almond extract, and vanilla extract and mix in until combined. Turn the mixer on to medium-high speed and whip for 3 minutes until light and fluffy.
Frost the cupcakes and add garnishes if desired. Serve immediately.