The issue in the code above was in the non provided data-server module. In this module, I imported a function from the node fs/promise API but that's not the way React Router / Remix is supposed to work, at least not with the default template because it's not built on node API but on the Web Fetch API so that it can work in any JS runtime (node and others). React Router / Remix the uses adapters to make your code on different platforms.