1. If making your own hazelnut butter, turn oven on to 350 and toast hazelnuts on a sheet pan while the oven preheats (about 10-14 minutes, or until golden). Line a loaf pan with parchment paper for the brownies. Once nuts are toasted, transfer to a food processor or high powdered blender and blend until completely smooth and creamy, stopping to scrape down the sides, as needed.
2. Measure out 2/3 cup of hazelnut butter and add it to a bowl with the honey, egg, coconut oil, and vanilla; whisk to combine. Add all remaining ingredients, and stir until a thick batter forms. Scrape batter into prepared loaf pan, and bake for 16-18 minutes, or until brownies have just barely set in the middle. Do not overbake.
3. Let brownies cool slightly, then use the parchment paper to lift them out of the pan and transfer to a cooling rack to completely cool. While brownies cool, the center should sink, creating the perfect indent to fill with ganache.
4. To make ganache, stir together all ingredients in a small bowl (if your coconut oil is not soft at room temp, gently soften it in the microwave or run the jar under hot water before using). The ganache should be thick but spreadable. If it's too thin, transfer to the fridge to firm up before spreading on the brownies.
5. Once brownies are completely cool, spread with ganache and sprinkle with chopped hazelnuts and salt, if desired. Cut into 4-8 brownies, depending on your desired size, and serve. Extras keep well at room temperature for up to 5 days, and I think they even get better after sitting overnight!