Preheat the oven to 350°F. Grease a 9" springform pan and line the bottom with parchment paper. You could also use a 9" cake pan. Set aside until ready to use.
MAKE THE STREUSEL:
In a medium mixing bowl, whisk together flour, brown sugar, granulated sugar, cinnamon, and salt. Scatter the butter cubes across the top and cut in with a pastry blender or rub the butter into the flour mixture using your fingertips.
Once you can clump the mixture in your hand and it holds together, the streusel is ready. Transfer to the refrigerator.
MAKE THE CAKE:
In a small mixing bowl, whisk together flour, granulated sugar, baking powder, and salt. Set aside.
In a large mixing bowl, whisk together the egg, milk, vanilla extract, and almond extract. Slowly, stream in the melted butter, whisking all the while. Add the zest and juice of a lemon and whisk once more.
Add about ⅔'s of the dry ingredients, and whisk until fully incorporated. Add the blueberries to the remaining dry ingredients and toss to coat. Add the blueberries, along with any remaining dry ingredients, to the wet ingredients and use a silicone spatula to fold them gently into the batter.
Transfer the batter to the prepared pan and smooth over the top using the back of a spoon or an offset spatula. Top with the streusel.
Transfer to a center rack in the oven and bake for 40-45 minutes, or until the top is golden brown and a toothpick inserted in the center comes out clean or with just a few crumbs clinging to it. Transfer to a wire rack to cool for about 20 minutes.
Remove the sides of the springform pan (if using). Serve right away or allow to cool to room temperature.