01 - Line baking sheets with parchment paper or silicone macaron mats. Fit a large piping bag with a round tip approximately ½ inch in diameter.
02 - Sift almond flour and powdered sugar together into a large bowl. Discard any coarse bits that do not pass through the sieve.
03 - In a clean, grease-free bowl, beat egg whites until foamy. Add cream of tartar. Gradually add granulated sugar and beat until stiff, glossy peaks form that hold their shape.
04 - Gently fold the sifted almond flour and powdered sugar mixture into the meringue in three additions. Use a spatula to fold and press the batter against the bowl until it flows in thick ribbons and you can draw a figure 8 without the batter breaking.
05 - If desired, add gel food coloring and fold until evenly distributed throughout the batter.
06 - Transfer batter to the prepared piping bag. Pipe 1–1½ inch circles onto the prepared baking sheets, spacing them approximately 1½ inches apart to allow for spreading.
07 - Firmly tap the baking sheets on the counter several times to release trapped air bubbles. Use a toothpick to pop any visible bubbles for smooth, uniform tops.
08 - Let the piped shells rest uncovered at room temperature for 30–60 minutes, or until a dry skin forms on the surface and shells do not stick to your finger when lightly touched.
09 - Preheat oven to 300°F. Bake one tray at a time for 12–15 minutes, rotating the pan halfway through baking. Shells are done when they have developed feet and lift cleanly off the parchment paper.
10 - Allow shells to cool completely on the baking sheets before removing to prevent breakage.
11 - Beat softened butter until creamy. Add powdered sugar, vanilla, salt, and 1 tablespoon milk. Beat until light and fluffy, adding additional milk as needed to achieve a smooth, pipeable consistency.
12 - Pair similar-sized shells. Pipe a dollop of buttercream onto the flat side of half the shells. Top with remaining shells and gently press to sandwich the cookies together.
13 - Refrigerate assembled macarons in an airtight container for 24 hours before serving. Bring to room temperature before enjoying for optimal texture and flavor.