Preheat your oven to 350°F (175°C) and grease the cake pans.
In a bowl, whisk together the all-purpose flour, baking powder, and salt. Set aside.
In a large mixing bowl, cream together the softened butter and granulated sugar until light and fluffy, about 3-4 minutes.
Add the eggs one at a time, mixing well after each addition, and stir in the vanilla extract.
Gradually add the dry mixture to the butter mixture, alternating with the milk, until well combined.
Divide the batter in half and pour into the prepared cake pans. If using food coloring, add pink or blue to one of the batters and mix well.
Bake in preheated oven for 25-30 minutes, or until a toothpick inserted in the center comes out clean. Let the cakes cool in the pans for 10 minutes before transferring to a cooling rack.
Once the cakes are completely cool, level the tops if necessary, and place one layer on a serving plate.
In a separate bowl, beat together the softened butter and powdered sugar until smooth. Gradually add heavy cream until the frosting reaches a spreadable consistency.
Frost the top of the first cake layer with a generous amount of frosting. If you want to hide the gender, place a layer of candy or colored frosting over the top.
Place the second cake layer on top and frost the top and sides of the cake. Decorate with sprinkles or edible decorations as desired.
For the reveal, cut a slice of the cake to show the colored interior, showcasing the baby's gender!