Vite — dev that doesn't lie
Webpack-era build tools maintained two builds: a slow production build and a fast-but-different dev build. The dev build often hid bugs that only showed up in prod. Vite collapsed that — dev is ESM-native, the browser asks for modules and Vite serves them on demand. Production is Rolldown (the new Rust-based bundler that replaces Rollup in Vite 8).
Practical effect for cwkPippa: a code change saves and the chat updates in <100ms. HMR preserves component state. The dev experience is the production experience plus instant reloads.
Tailwind 4 — utility-first, CSS-native config
Tailwind 4 ditched the JavaScript config in favor of CSS-native @theme blocks. Your design tokens live in CSS now — closer to where they're used, no separate Node round-trip to compute.
Why utility-first at all? Because in a real app you need to ship pixel-level differences fast, and 'find the right CSS class file to edit' is a death loop. p-4 rounded-lg bg-bg-elevated in the JSX next to the component is faster to read, faster to write, and faster to delete than the same styles in a sibling file.