1. Preheat oven to 350°F (175°C). Grease and line three 8-inch cake pans with parchment paper.
2. In a medium bowl, sift together the flour, baking powder, baking soda, and salt. Set aside.
3. In a large mixing bowl, cream butter and sugar until light and fluffy. Add egg whites one at a time, beating well after each addition. Stir in vanilla extract.
4. Alternate adding dry ingredients and buttermilk to the butter mixture, beginning and ending with the dry ingredients. Mix until just combined.
5. Divide the batter evenly among the prepared cake pans and smooth the tops.
6. Bake for 22-25 minutes or until a toothpick inserted in the center comes out clean.
7. Allow cakes to cool in the pans for 10 minutes, then transfer to a wire rack to cool completely.
8. For the frosting, beat butter until creamy. Gradually add powdered sugar, mixing until smooth. Stir in vanilla extract and heavy cream, whipping until fluffy.
9. Assemble the cake by spreading frosting between layers and on the outside. Smooth with a spatula and decorate as desired.