Preheat the oven to 180 degrees Celsius.
Using the double boiler method, melt the chocolate and butter substitute over a low heat, stirring intermittently. Make sure the bowl is heatproof, preferably metal.
Once the chocolate and butter are melted, add both sugars to the chocolate mixture, and stir well to combine. Allow to cook a little longer to dissolve a bit of the sugar, 1 or 2 minutes. This step is more important if you're using coconut oil. If you're using Nuttelex, the mixture might be super thick and grainy, which is fine. If it is, take it off the heat and proceed with the next step.
Stir in the espresso and cocoa until the mixture is combined. Again, depending on the fat used, the texture will differ. The Nuttelex version will look like you could pick it up in a wet ball, whereas the coconut oil version will probably be a thick wet batter. Remove the bowl from the heat, and stir in the sea salt and vanilla bean paste. At this point, I like to put the soy milk in a bowl over the water bath, to warm it up so it doesn’t ruin the batter.
In a medium mixing bowl, combine the almond flour, tapioca flour and baking powder. Once mixed together, add to the brownie mixture along with the soy milk. Continue stirring until the mixture is thick and shiny. The batter should be pourable but thick - you should need to nudge it around the pan with a spoon.
Line a 21cm x 21cm tin with baking paper –enough to use as handles to lift the brownies out at the end. Place the brownies in the oven for 25-30+ minutes. I've noticed time isn't nearly as important with these brownies as it is with regular.
The brownies need cooling time before they are easily sliced. I like to cut the brownies while they’re warm but not hot, before leaving to cool and set overnight. I would say leave them about 20 minutes out of the oven before slicing. I like to put them in the fridge and them overnight before serving. They are best when totally cool.