Preheat the oven to 350 degrees F (175 degrees C). Grease and flour two 8-inch round cake pans.
In a medium bowl, whisk together the flour, baking powder, and salt.
In a large bowl, cream together the butter and sugar until light and fluffy. Beat in the vanilla and almond extracts.
Beat in the egg whites one at a time, scraping down the sides of the bowl after each addition.
Gradually add the flour mixture to the wet ingredients, alternating with the milk, beginning and ending with the flour. Beat until just combined.
Divide the batter evenly between the prepared cake pans.
Bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean.
Let the cakes cool in the pans for 10 minutes before inverting them onto wire racks to cool completely.
To make the buttercream, beat the butter and cream cheese together until smooth.
Gradually add the confectioners' sugar, beating until light and fluffy. Beat in the vanilla extract and salt.
Once the cakes are completely cool, frost the top of one cake layer with a generous amount of buttercream. Place the second cake layer on top and frost the top and sides of the cake.
Decorate the cake as desired.