01 - Line baking sheets with parchment paper or silicone macaron mats. Fit a large piping bag with a round tip (approximately 0.4 inch diameter).
02 - Sift almond flour and powdered sugar together into a large bowl. Discard any coarse particles that remain in the sieve.
03 - In a clean, grease-free bowl, beat egg whites until foamy. Add cream of tartar. Gradually incorporate granulated sugar while beating until stiff, glossy peaks form.
04 - Gently fold the sifted dry ingredients 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 stream breaking.
05 - If using, add gel food coloring and fold until evenly distributed throughout the batter.
06 - Transfer batter to the prepared piping bag. Pipe 1.2-1.6 inch circles onto the lined sheets, leaving approximately 1.2 inches between each shell.
07 - Firmly tap the baking sheets on the counter several times to release trapped air bubbles. Use a toothpick to pop any remaining visible bubbles for smooth tops.
08 - Let the piped shells rest uncovered at room temperature for 30-60 minutes, or until a dry skin forms 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 formed feet and lift cleanly off the parchment.
10 - Cool shells completely on the baking sheets before removing to prevent breaking.
11 - Beat softened butter until creamy. Add powdered sugar, vanilla extract, salt, and 1 tablespoon milk. Beat until fluffy, adding additional milk as needed to achieve smooth, pipeable consistency.
12 - Pair similar-sized shells. Pipe a dollop of buttercream onto the flat side of half the shells. Gently press remaining shells on top to create sandwiches.
13 - Refrigerate assembled macarons in an airtight container for 24 hours before serving. Bring to room temperature before enjoying.