I recently came across a technical interview question that involved making one of these things in which, although I knew how, had never actually done so I lost off time. With that said, I made one and broke it down in the current Node LTS (v24^) at this time of writing
node server.js