Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans and line a muffin tin with cupcake liners.
In a large bowl, whisk together the flour, baking powder, and salt.
In another bowl, cream the softened butter and granulated sugar until light and fluffy.
Add the eggs one at a time, mixing well after each addition. Stir in the milk and vanilla extract until combined.
Gradually add the dry ingredients to the wet ingredients, mixing until just combined.
Divide the batter evenly into three bowls. Leave one bowl plain, and add red gel food coloring to one bowl and blue gel food coloring to the other, mixing until you achieve your desired colors.
To create the tie-dye effect, drop spoonfuls of each colored batter into the prepared cake pans and cupcake liners, alternating colors.
Use a toothpick or skewer to swirl the colors together gently for a marbled effect.
Bake the cakes for 25-30 minutes and the cupcakes for 18-20 minutes, or until a toothpick inserted into the center comes out clean.
Allow to cool in the pans for 10 minutes before transferring to wire racks to cool completely.
For the buttercream frosting, beat the softened butter in a large bowl until creamy.
Gradually add the powdered sugar, mixing well.
Pour in the heavy cream, vanilla extract, and a pinch of salt, and beat until the frosting is light and fluffy.
Once the cakes and cupcakes are completely cool, frost them with the buttercream. Decorate with sprinkles or edible glitter for a festive touch.