Preheat oven to 350°F. Line two baking sheets with parchment paper and set aside.
In a large bowl, cream together the butter, softening, 1 cup of the granulated sugar and brown sugar until light and fluffy, about 5 to 7 minutes. Stir in the egg, vanilla and almond extract. Add the flour, cinnamon, baking soda, cream of tartar, nutmeg, orange zest and salt and mix until well-combined.
Place the remaining 1/4 cup of sugar in a small shallow dish. Using a 1-tablespoon cookie scooper, scoop out the cookie dough and roll between your palms to create a smooth ball. Roll around in the sugar and place on the prepared baking sheet, leaving about 2-inches of space in between each to allow space for spreading during baking. I only put six on each baking sheet. Bake until lightly golden brown around the edges, about 10 to 15 minutes
Remove from the oven and allow to cool for about 10 minutes on the baking sheets before transferring to a wire rack to cool completely. Continue baking off the remaining dough in the same way.
While the cookies cool, make the buttercream filling. In a large bowl, cream together the butter and cocoa powder until smooth and creamy. Add the powdered sugar, salt and espresso powder if using, and stir until just combined. Add the heavy cream and vanilla and beat on high until thick and creamy, about 5 to 8 minutes. Transfer to a large piping bag, fitted with a plain circle tip.
Flip over half of the cookies and pipe out some of the buttercream into the center of each. Gently sandwich together with the remaining cookies. Allow to set slightly before eating. Enjoy!