Preheat the oven to 350°F and line two muffin tins with cupcake liners.
In a large bowl, whisk together the flour, sugar, baking powder, baking soda, and salt.
Add the buttermilk, milk, vanilla, and oil to the dry ingredients and whisk until fully combined. In a separate bowl whip, the egg whites until you get medium-stiff peaks, and then gently fold the egg whites into the batter.
Split the batter evenly into three bowls and tint one bowl red, one bowl blue and leave the third bowl white.
Use a small cookie scoop to scoop the batter into the cupcake liners, starting with red and then white and then blue. Fill the liners only halfway full, or the cupcakes will puff over the top of the muffin tin.
Bake for 20-22 minutes, until a toothpick comes out clean and the tops of the cupcakes bounce back when lightly pressed. Let the cupcakes cool completely.
Add the butter, powdered sugar, milk, vanilla, and salt to the bowl of a stand mixer. Stir on low to incorporate and increase the speed slowly as the butter absorbs the powdered sugar. Beat on high speed until the frosting is white and fluffy, about 10-15 minutes.
Separate the batter into 3 bowls and tint one bowl red, one bowl blue and leave the last bowl white.
Spread a sheet of plastic wrap on the counter and use piping bags to pipe a line of each color right next to each other. Carefully use the plastic wrap to make a log of the frosting, wrapping the ends tightly. Snip the end on one side right next to the frosting and drop into a piping bag fitted with your desired piping tip. Use the piping bag to pipe swirls on top of the cupcakes. Top with sprinkles and enjoy!