A phased upgrade of my job-application tracker from Create React App and Rails 6 to Vite, TypeScript, MUI 6, and Rails 7.2 — with CI, tests, and a deploy path that actually holds up.