Preheat oven to 350° F. Spread the hazelnuts out on a baking sheet and roast for 15 minutes, stirring every 5.
When hazelnuts have finished roasting, bring 2 cups of water to a boil. (The water will fizz up when the baking soda is added to be sure to choose a large enough pot.) Prepare a separate bowl of cool water and set aside on the counter. Once the water on the stovetop is boiling, add 3 tablespoons of baking soda, followed by the hazelnuts. Boil for 3 minutes, drain, then add the hazelnuts to the bowl of cool water. Peel hazelnuts and discard skins.
Blend hazelnuts in a food processor or blender until they form a thick, smooth paste. This should take approximately 5 minutes. It will be crumbly at first but the crumbs will begin to come together to form a butter. Add the butter, sugar, cocoa powder, salt, and extract. Continue to blend until smooth (approximately 1 to 2 minutes).
Melt together chocolates and heavy cream in a double boiler, until a smooth ganache forms. Remove from heat and let cool for 5 minutes.
Once ganache has cooled slightly, add it to the food processor or blender and blend until just combined (around 15 seconds). Transfer to jars and store in the fridge for up to 1 week. (The nutella will firm up slightly in the fridge, so let it sit out at room temp for approximately 30 minutes to soften the consistency.)