root@construct:~/rants/stop-rewriting-your-app-in-rust$
<-- back to /rants
2025-12-04//RANT

Stop Rewriting Your App in Rust

A CRUD API, a Next.js landing page or a todo app that talks to Supabase and renders some cards will run fine without a borrow checker.

I see it every week. Some dev on Twitter announces they're rewriting their Node.js service in Rust because "performance matters." The service has 12 users and the bottleneck is an N+1 query that hits the database once per row. Rust won't fix that. Fixing the query will.

The Rust community has done great outreach work. It convinced an entire generation of developers that if you're not writing Rust, you're leaving performance on the table. Technically, that's true. Your deadline and your users are on the table too, along with your sanity.

Rust is interesting to learn and teaches you about memory and systems programming. That is a good reason to learn it, even though your Express API does not need it.

Now, exceptions exist. Ruff rewrote Python linting in Rust and, according to Astral, it's 10-100x faster. That was the right call. A linter runs on every save, so those milliseconds compound.

A SaaS dashboard has different needs from Ruff. You can ship it in TypeScript and still have time to go outside.

Stop Rewriting Your App in Rust | The Broad Way