Cream together the softened butter and granulated sugar using an electric mixer on medium speed. Beat for about two minutes until the mixture looks pale and fluffy. Trust me, this step matters way more than people think.
Add the eggs one at a time, mixing well after each addition. Pour in your vanilla extract and beat for another thirty seconds. The mixture should look smooth and slightly thickened now.
In a separate bowl, whisk together your flour, baking powder, and salt. Alternate adding the dry mixture and milk to your wet ingredients, starting and ending with the dry stuff. This keeps everything from getting lumpy—I learned this the hard way after my first batch came out gritty.
Divide the dough into three equal portions in separate bowls. Stir the red beet powder into one bowl, the blue butterfly pea powder into another, and leave the third plain. Chill all three portions for at least fifteen minutes in your fridge.
Preheat your oven to 350°F while the dough chills. Roll out each colored portion between two sheets of parchment paper to about 1/8-inch thickness. Using star, heart, or flag-shaped cookie cutters, cut out your shapes and place them on parchment-lined baking sheets.
Bake for exactly 12 minutes—not a second longer or the edges get crispy instead of soft. The centers should still look just slightly underdone when you pull them out. I know this feels wrong, but they continue cooking as they cool, which is the secret to that perfect chewy texture.
Let the cookies cool on the baking sheet for five minutes before transferring to a wire rack. Once completely cooled, frost with cream cheese frosting and arrange them in red, white, and blue patterns. This is where the kids absolutely take over—let them go wild with the decorating.