HACKER Q&A
📣 morenatron

Astro vs. NextJS vs. Remix, help me decide


I looked for a JS self help group and I found none. At work I've been tasked to rewrite the Frontend of a job posting platform with 10k+ local jobs. The backend is in PHP Symfony and we will adopt api platform for it now

The top requirements are (from important to less important): SEO, performant pages (for SEO), easy to maintain, self hostable and some interactivity with search results and smooth transition to opening job posts.

I would like to use SSG/SSR and on fast changing locations maybe ISR

Because it's a local job platform we only need to cover one region. And Job postings are not so dynamic so I would like to rely on heavy caching and invalidating the cache for a specific location when jobs change. And we only have a small team so it should be easy to develop and maintain but I guess each of them are.

My first thought was about using Nextjs (thats what I use in most small to mid sized projects) But I only host on vercel and Nextjs seems to work differently when selfhosting even with sst/opennext. Also Nextjs somehow seems to like breaking changes.

My second thought was Remix as a reliable middle option

And my last and intriguing thought was using Astro and heavily use SSG and ISR and use react on top. But I somehow think that Astro might not be suitable for larger projects - but I really love astro for its simplicity and ease of use.

Help me decide, have any of you had such content heavy projects and what did you use or what would you use if you were able to rewrite it


  👤 shaism Accepted Answer ✓
Given your requirements, I would rank the frameworks like this:

* SEO -> 1. Astro, 2. Remix, 3. NextJS

* Performant Pages (for SEO) -> 1. Astro, 2. Remix, 3. NextJS

* Easy to Maintain (for a small team) -> 1. Astro, 2. Remix, 3. NextJS

* Self Hostable -> 1. Astro, 2. Remix, 3. NextJS

* Some interactivity and smooth transitions -> 1. Remix and NextJS, 3. Astro

From your description, it seems you are most familiar with NextJS. My question: How about the other maintainers? If everyone is familiar with NextJS, that is a big bonus point.

In conclusion, it comes down to how high you prioritize "Some interactivity and smooth transitions" and "Familiarity with the chosen framework." Astro, being a multi-page framework first and foremost, will not deliver the smooth transitions that the other two will. However, it shines on pretty much all your other requirements.

If you can live with Astro being a Multi-Page Framework that, by default, does a full-page reload for every route, and your team is comfortable using Astro, I would go with Astro. Otherwise, pick NextJS or Remix, whichever your team is more familiar with.


👤 coronapl
I have worked for some time with Next.js and SST / OpenNext. I think that if you are fully into the AWS ecosystem OpenNext is a great option; although you have to take into account that there may be some compatibility issues with the new features mainly. If this is a big concern, I think both Remix and Astro are a great option because of the adapters. I have been using Astro for my personal blog and I love with its simplicity. My impression is that it could be a good option even for big projects.

👤 pestatije
just frontend?, or backend too? not clear at all from ur post