### Source Peer feedback, collected in #167. Quotes (translated): the build gives a JS file of 721.75 kB (228 kB gzip), over the 500 kB limit of Vite, and no `lazy()` or route splitting is seen in `App.tsx`; the biggest sustainability gap is the bundle size without code splitting. ### Related #157 measures the sustainability numbers. This issue is the change, #157 is the measurement. ### What to do - [ ] Load each page with `React.lazy` and `Suspense` in `App.tsx`, with a fallback that is announced to a screen reader. - [ ] Look at what is big (for example with `vite build` and a bundle visualiser) and say what the largest parts are. Move heavy parts that only one page uses into that page's chunk. - [ ] Check that the e2e tests and the page titles still work with lazy pages. - [ ] Update the numbers in the README and `docs/SUSTAINABILITY.md` (they say 548 kB; check what `npm run build` says now). ### Done when - [ ] The first load downloads only the code of the page that is opened, and the numbers in the docs match `npm run build`. _Comment made with Claude Code in discussion with Ronja_