Preheat oven to 350 degrees F. Prepare two baking sheets by lining them with parchment paper. Set aside.
In the bowl of your stand mixer fitted with the paddle attachment, mix butter and powdered sugar on low for 30 seconds.
Increase to medium speed and beat until light and fluffy, about 3 to 4 minutes.
Add egg, vanilla, and almond extract, and mix in until combined.
Add flour, almond flour, baking powder, and salt. Mix in until just combined. Do not overmix.
Lightly flour a clean surface.
Using a rolling pin, roll out the dough to ⅛-inch thick.
Using 2 ½-inch round cookie cutters, cut dough into circles.
Transfer cut dough onto the prepared baking sheets.
Re-roll the dough and continue cutting circles until all dough has been used.
Using a 1-inch round cookie cutter (or large end of a piping tip), cut a circle out of the center of half the dough rounds to create a window on top of the cookies.
Bake 10-15 minutes, or until lightly golden on the bottom.
Let cookies cool completely.
To fill the cookies, turn the cookies without the hole in the center flat-side up.
Spoon ¾ teaspoon of raspberry jam in the center of each one, spreading it slightly.
Dust extra powdered sugar on top of the cookies with the holes in the center.
Carefully transfer one cookie with the hole at a time on top of the jam-filled cookies until they all create a sandwich with jelly in the middle.
Notes
Butter: You can use salted butter and omit the salt if you prefer.
Flour: It's important to properly measure the flour. Weighing it will give you the most accurate measurement. You can also sift the flour, lightly spoon it into the measuring up, and level. Avoid packing the flour as that will give you dry, crumbly dough.
Kosher salt: If using table salt, reduce the salt to 1/4 teaspoon.
Jam: Raspberry jam is traditionally used to fill linzer cookies; however, you could use another flavor of jam if you prefer.