- Copy working src/frontend code into packages/frontend/src
- Add vite.config.js and index.html to packages/frontend
- Add real backend WebSocket server source
- Switch flake buildPhase from pnpm to npm
- Force-add npm lockfiles (gitignored) for Nix source inclusion
- Set correct npmDepsHash for both frontend and backend packages