Receiving a webhook requires a publicly accessible server on the Internet somewhere. Whether that is on a service like Heroku or AWS, or run out of your home because you have arranged for a publicly accessible IP address and know how to handle NAT translation. GitHub doesn't provide persistent public hosting like that, so you would need to find some other service to stand up a server.
I haven't seen the tutorial you mention, so I can't hazard a guess as no what might be going wrong. If you want to start with Heroku and Node.js, you may want to use Heroku's own quick start guide. Once you have a server up and running, then you can customize it to receive webhooks and do something useful with them.
I hope that helps!