Preheat the oven to 350F Grease and flour two 8 x 8 baking pans
In a medium bowl, stir together the flour, baking powder, and salt. Set aside.
In a mixing bowl, beat the butter and sugar together until light and fluffy - about 5 minutes.
Beat in the eggs one at a time until the mixture is fully combined - about 5 minutes.
Add in ⅓ of the flour mixture into the mixing bowl and stir until it is just combined.
Stir in the vanilla and half the milk until just combined.
Pour in half the remaining flour and stir in until just combined.
Add in the remaining milk and stir until just combined.
Mix in the remaining flour until just combined.
Evenly divide the batter among the two baking pans (I use a scale to make sure they are exactly even, but you can eyeball it).
Bake for 20 - 25 minutes, or until a toothpick comes out clean.
Remove from the oven and remove the cakes careful from their pans. Let them cool on a wire rack.
While the cakes are cooling, make the frosting.
Beat the butter and cream cheese together until completely smooth - about 5 - 8 minutes.
Beat in the vanilla.
Add the powdered sugar one cup at a time, beating it in slowly. If the frosting is too thick for you to spread, add heavy cream as needed.
Cut the tops off the cooled cakes.
Slather the frosting on top of the cakes. Top each with sprinkles, then top one of the layers on top of the other.
Notes
*The original recipe does not call for heavy cream, and I did not require any either. But if your frosting is too thick, feel free to loosen it slightly with heavy cream. By its intended nature, this frosting should be somewhat thick.