In a medium bowl, whisk together the flour, almond flour, espresso powder, and salt. Set aside.
In the bowl of a stand mixer fitted with a paddle attachment, beat the butter and sugar for 2-3 minutes until light and fluffy.
Add the egg and vanilla to the butter, sugar mixture, and mix until fully combined.
Add the dry ingredients in two batches, mixing on low speed until everything is mostly combined.
Use a rubber spatula to scrape the bottom of the bowl and finish combining the dough. It will seem dry, but that's okay.
Divide the dough in two, shape into disks, and wrap tightly with plastic wrap. Chill in the fridge for at least one hour or up to a few days.
Preheat the oven to 350 degrees F and line two baking sheets with parchment paper.
On a lightly floured surface, roll out one disk of dough to ⅛" in thickness. Use a 2 ½" fluted round cutter and a 1" heart cutter. Cut out an even number of solid cookies and cookies with a heart cutout.
Place all cutout cookie dough in the freezer for 10 minutes. Place the scrap cookie dough back in the fridge for about 15 minutes before re-rolling.
Bake the frozen cutout cookies for about 10 minutes. Bake the tiny hearts for about 8 minutes. Allow cookies to cool completely on the baking sheet.
Repeat with the remaining cookie dough.
For the Chocolate Ganache:
In a heat proof bowl, combine the chocolate and heavy cream.
Heat in the microwave in 15 second intervals. Gently stir between each interval.
Once fully melted and combined, allow to sit for just a few minutes to cool down, then immediately use to assemble cookies.
For Assembly:
Pair the linzer cookies up and sprinkle powdered sugar and/or cocoa powder on the top heart cookies.
Spread a thin layer of chocolate ganache on the bottom cookie, then place the paired cookie on top.