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:
- Insanely fast, even on slow internet
- Elegant forms
- No need for client-side JS
- Adopts standard Web APIs
- Nested routes
- Meta framework with React Router
Remix's weaknesses are:
- Its community
- Image optimization
- Static site generation
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