Preheat the oven to 350˚F/177°C. Place the almonds on a rimmed baking sheet in a single layer and roast for ~10 minutes or until fragrant. Shake the pan about halfway through to move around the nuts. Some of the skins will split as they roast, so you’ll hear some popping sounds. Allow the almonds to cool ~5 minutes.
While still warm, place the almonds in a food processor or blender. If you want chunky nut butter, remove ¼ cup chopped nuts just after ~10-20 seconds of blending. Set aside until the end.
Blend until you reach a smooth butter texture. This could take about 5-10 minutes, just be patient. If your food processor appears to be overheating, stop the blender and allow it to cool before continuing. Throughout the blending process, stop the blender and scrape down the sides using a spatula.
The almonds will process through different stages. 1) finely chopped, 2) powder, 3) large sticky chunks, 4) a thick paste, and finally 5) smooth glistening butter (you should see a shine from the natural oils, if not, keep blending!).
Once at the smooth glistening butter stange, add salt, cinnamon (spices), and vanilla. Continue to blend until fully combined ~30 seconds. Now add the sweetener and blend. You will need to blend ~5 minutes because the smooth nut butter will seize. No worries! Once it has smoothed out again (at least back to the thick paste), add the oil and blend again until the mixture returns to a very smooth texture. If adding chunky almonds, add them now and pulse a few times to incorporate.
Transfer the almond butter to an airtight container and store in the refrigerator for up to a month. If oil separation occurs, simply stir until smooth.