Background paper texture
blog

I'm learning Remix, here's what I thought

I love Remix :)

Author avatar

Peter Shaan

January 27, 2025


361 Views

After disappearing from the website lane, I'm finally back, dealing with my final semester at university and now I'm Back! 🚀 Look what I have right now—I'm exploring a new framework: REMIX.

Background

It all started from my thesis defense where I used Next.js (*check my thesis here). My examiner asked questions that were hard for me to answer 😤. One of his suggestions was to learn Remix instead of Next.js, which he said was unstable. That's when I started learning Remix and wow, I really like it ❤️

Remix

For those who don't know Remix, it's a React framework competing with Next.js. They have a cool slogan: "Focused on web standards and modern web app UX, you’re simply going to build better websites." Better websites and web standards—Remix is really cool in my opinion and I plan to use it for several upcoming projects 🌟

Remix is simple, no complicated folder structure, and I find it practical and elegant. API calls are also easy and flexible. That's why my first project is revamping this site to use Remix.

Next.js vs Remix

It's not that I was happy to switch frameworks—I spent weeks deciding whether I should learn Remix instead of Next.js, which I had already started mastering last year, even using it for my research.

But one thing I started to dislike about Next.js is its instability, which became more apparent with the release of Next.js 15. That's why I feel Next.js is getting less stable over time, with features that keep changing and getting weirder, compared to Remix which is still at version 2.15.

Here are some benefits of Remix that Next.js doesn't have:

Remix's weaknesses are:

For a more detailed comparison, check out Ryan Florence's blog. The conclusion is clear: Remix is faster than Next.js, and that's proven by several video captures he made.

One interesting thing about Remix is that you don't need to create separate files for APIs; you can call them in the same file. Here's an example implementation:

route\note.tsx