Kevin: Hey, have you tried Vite for Rails 8? It’s insanely fast.
John: I’ve heard of it. Isn’t that a build tool? Didn’t Rails already come with one?
K: Well, it did, but Vite is like… modern. You’ll need to install Node, npm, and configure a few scripts, but it’s totally worth it.
J: Wait, Rails needs Node now?
K: Well, yeah — if you want to use React. Everyone’s using React.
J: Didn’t Rails have something for that?
K: It did, but now you’ll want to use Vite with React Refresh so you get instant component reloads. And if you want TypeScript support, you’ll have to configure that too.
J: Sounds… like a lot.
K: Oh, not really. Just install Babel, configure your .babelrc, add vite-plugin-ruby, then you’ll want PostCSS for your styles.
J: PostCSS?
K: Yeah, and then Tailwind, obviously — you don’t want to write CSS like a peasant.
J: Of course not.
K: Then you’ll probably want to add ESLint and Prettier to make sure your code looks clean, and maybe Husky for pre-commit hooks.
J: So... Vite, React, Babel, PostCSS, Tailwind, ESLint, Prettier, Husky. That’s it?
K: Pretty much. Oh, unless you want server-side rendering — then you’ll need Next.js or Remix.
J: Wait, we’re still talking about a Rails app, right?
K: Yeah, but hybrid stacks are the way to go! You could also use StimulusReflex or Hotwire if you want reactive components without JS frameworks.
J: StimulusReflex sounds like a Marvel character.
K: Ha! No, it’s for real-time updates. But you’ll need ActionCable configured, Redis running, and—
J: Redis?
K: Yeah, you need a pub/sub layer. Don’t worry, it’s just another Docker container.
J: Docker too?
K: Yeah, to isolate your dependencies. And if you want everything reproducible, you’ll need Docker Compose, maybe Fly.io for deployment, and a build pipeline with GitHub Actions.
J: That’s... quite a setup.
K: It’s just modern web development, man. Keeps things simple. What are you doing?
J: Just tinkering.
(John runs a single command. The app boots instantly, working forms, instant loading times, blazing fast navigation.)
K: Wow, that looks like a pretty complex setup. What stack’s that?
J: Vanilla Rails.
Just F#$%^& use Rails.