Preheat oven to 350F. Line a large baking sheet with parchment paper.
Add the hazelnuts to the baking sheet, and spread into a single layer. If using roasted hazelnuts, roast for about 8 minutes. If using raw, roast for about 12-14 minutes.
After hazelnuts have cooled slightly, grab a clean kitchen towel. Rub the hazelnuts in the dish towel to remove the skins. I usually do this in two or three batches. This step will not remove all of the skins, and that is absolutely fine.
Add the hazelnuts to a food processor, and blend until they form a butter consistency (see photos above). This generally takes about 7 or 8 minutes.
Break the chocolate into smaller pieces (no need to chop!), and melt in microwave or in a double-boiler. If using the microwave, heat the chocolate in 30-second or less increments and watch carefully.
Add the melted chocolate, salt, and vanilla extract to the hazelnut butter in the food processor. Blend for a minute or so until ingredients are totally incorporated.
Add the tablespoon of maple syrup (optional), and blend for an additional minute.