In a medium mixing bowl, beat the egg whites with an electric hand mixer on medium speed until soft peaks form. Add ⅓ of the granulated sugar and with mixer on high, continue to beat until egg whites are stiff peaks. Add another ⅓ of the sugar and beat again until egg whites are back to stiff peaks. Repeat with last ⅓ of sugar, beating until whites are shiny and fluffy.
Using a fine mesh strainer, sift together the almond flour, confectioners sugar, and espresso powder into the bowl with the egg whites. Discard any large pieces that remain in the strainer.
With a rubber scraper, fold the mixture into the egg whites, about 35-45 strokes, or until the batter falls on itself but a slight peak remains (Do not overmix or batter will be too thin and runny).
Fill a piping bag fitted with a round tip. Pipe batter onto prepared baking tray into 1 ½ inch (4 cm) disks.
Lift and drop the baking tray onto a hard surface 2-3 times to smooth out the batter and knock out any air bubbles. Allow cookies to rest at room temperature for one hour, until a skin forms on the surface of the cookies.
Preheat oven to 285˚F (140˚C)
To make the filling, beat the butter, confectioners sugar and vanilla extract until light and fluffy. Set aside.
After about one hour, gently brush the top a cookie with your finger to check that a skin has formed. The batter should not stick to your finger, if it does, allow to set for an additional 15 minutes.
Bake cookies in preheated oven for 15 minutes, or until the cookies peel away from the parchment when lifted.
Allow the cookie shells to cool completely.
Pipe the buttercream frosting onto the bottom side of a cooled shell and sandwich together with a similarly sized cookie.
Dust with optional cocoa powder and serve. *Store in an airtight container in the refrigerator.