Prepare two baking sheets by lining them with parchment paper or silicone baking mats.
Sift almond flour, powdered sugar, and ground pistachios through a fine mesh sieve into a bowl. Repeat one more time to make sure the ingredients are uniformly combined, discarding any larger pieces that don't go through the mesh sieve. Set aside.
In a large bowl, beat the egg whites on medium speed until frothy, about 1 minute, then slowly add the granulated sugar, about 1 tablespoon every 20 seconds or so. Increase the speed to medium-high then continue to beat until stiff peaks form.
Fold the sifted almond/pistachio mixture into the egg whites using a spatula until the batter becomes the consistency of lava and drizzles off a spatula in a thick ribbon.
Transfer the macaron batter to a piping bag fitted with a large round tip or a ziploc bag with one corner cut off. Pipe the macaron batter in 1 ½-inch circles onto the silpat mat or parchment paper lined baking sheets. Rap the pan against a counter a few times to release air bubbles.
Let the macarons sit for 30-60 minutes until the top is dry enough to touch. It may take even longer if the day is humid.
Preheat oven to 300 degrees F. Bake one sheet of macaron shells at a time for 16-18 minutes. Cool completely on the baking sheet before attempting to remove the macaron shells from the pan.
Meanwhile, make the pistachio buttercream by beating the butter in a medium bowl until creamy and smooth. Add the powdered sugar, ground pistachios, and almond extract, then mix again. Add as much heavy cream as needed to get a good piping consistency.
To fill the macaron shells, transfer the pistachio buttercream to a bag fitted with a piping tip or a ziploc bag with one corner cut off. Pipe buttercream onto the bottom half of the macaron shells, then top with another macaron shell.