First, make your cupcakes! Preheat the oven to 350° F and line two 12-cupcake pans with paper cupcake cups. In a medium bowl, whisk together all of the dry cupcake ingredients (flour, almond flour/meal, baking soda, baking powder, salt, cinnamon) then set aside. Then, in a large bowl, using an electric mixer, cream together the sugar and butter until lighter and fluffy. Add the eggs and beat until smooth, then add the oil, sour cream, vanilla, and milk and beat until combined. Pour the whisked dry ingredients into the wet ingredients and stir together until smooth. Spoon a tablespoon of batter into each of the cupcake cups, then make the cupcake swirl.
In a small bowl, combine the melted butter, cocoa powder, cinnamon, and brown sugar until smooth. Spoon a teaspoon of the swirl mixture on top of the batter already in the cupcake cups, then spoon the remaining cupcake batter over the swirl to cover the top. Bake cupcakes for 20-22 minutes or until a toothpick inserted into the center of a cupcake comes out clean. Let cool completely before frosting.
While the cupcakes are cooling, make the buttercream. Be sure that your powdered sugar is sifted or you'll end up with tiny powdered sugar lumps. In a large bowl, using an electric mixer, beat your room temp butter for 2-3 minutes until lighter in color and completely smooth. Add 1 cup of the powdered sugar and beat until creamy. Add your cocoa powder, vanilla, cayenne, cinnamon, and ancho chili powder and beat until smooth. Continue to add the remaining powdered sugar one cup at a time until buttercream is totally smooth. Scoop buttercream into a pastry bag and pipe onto your cupcakes (or just frost with a knife!). Then serve!