Got it figured out. I’m an Node.JS/Express dev and I had to take an ad hoc crash course in Hapi server to get things working. My original problem was that I was serving up the backend for the front-end. I fixed that, but I had to learn a bit about Hapi routing and the use of the Inert plugin to get things working in total.
I now have the Hello World extension sample working now with the color cycler demo. I still get the occasional “Got message from an unexpected source” error in the Chrome debugger from time to time, but I don’t know why that’s happening and it doesn’t seem to affect anything that I detect.