Preheat the oven to 350 °F (167 °C) and line an 8"x8" pan with a sheet of parchment paper.
Prepare the streusel. In a small bowl, mix together the flour, sugar and salt. Using a fork or your hands, add the coconut oil and mix until thoroughly combined with the dry mixture. Place in the refrigerator while you prepare the cake.
3/4 cup (101 grams) flour, 1/4 cup (50 grams) brown sugar, 1/8 teaspoon salt, 1/4 cup (56 grams) refined coconut oil
In a medium mixing bowl, stir together the flour, almond flour, baking powder, baking soda and salt. Set aside.
1 1/2 cups (201 grams) flour, 1/2 cup (50 grams) finely ground blanched almond flour, 1 teaspoon baking powder, 1/2 teaspoon baking soda, 1/2 teaspoon salt
In a large mixing bowl using an electric hand mixer, beat together the coconut oil, sugar, vanilla extract, water, and almond extract until well combined. Stir in the egg replacer until well combined.
3 1/2 tablespoons (49 grams) refined coconut oil, 1 cup (200 grams) granulated sugar, 1 1/2 teaspoons vanilla extract, 1 teaspoon water, 1/2 teaspoon almond extract, 1 egg made with egg replacer
Fold in half of the dry mixture, then half of the almond milk. Fold in the remaining flour and then the remaining milk. Fold in the blueberries and pour the mixture into the prepared pan.
1 cup (240 ml) almond milk, 1 3/4 cups (271 grams) fresh blueberries
Remove the streusel from the fridge. It'll feel very dry. Use your hands to mix it a few times and then sprinkle the streusel evenly over the top of the batter.
Bake for 28-35 minutes or until a toothpick inserted in the middle comes out dry. The whole wheat and all-purpose version will take closer to 28 minutes and the GF version took me 33 minutes.
Let the cake cool for 2 hours before serving. Letting it sit improves taste and it also gets moister as it sits.
Cover and store at room temperature for up to 3 days or refrigerate for up to 5.