Published on

7 things I've learned using Remix for 1 month


I’ve been using @remix_run for 1 month now, it’s like nothing I’ve used before, here are some of the best features I've encountered:

  • Full-stack Routes 💽
  • Loaders ⌛
  • Actions ⚡️
  • Error Boundaries ⚠️
  • No more Loading Spinners 💀
  • UI/UX 💅🏻
  • Integrations 🎁
Remix learnings after 1 month

1. Full-stack Routes 💽

Everything you need on ONE file. Loader export to get data + Action export to submit forms + a React component to handle UI = SSR in under 100ms.

Full Stack Routes

2. Loaders ⌛

Everything you need to load in one function: User state, redirect unauthorized users, i18n translations, SEO meta info…

Full Stack Routes

3. Actions ⚡️

Validate form submission, parse array values, perform DB operations, use third-party libraries (eg: send email), and redirect the user when completed.

Full Stack Routes

4. Error Boundaries ⚠️

Handle unexpected errors with ErrorBoundary route exports, and expected errors with ClientBoundary exports.

Full Stack Routes

5. No more Loading Spinners 💀

Using SPA means that you have to wait for the server to load the data, in the meantime, you need to calm down your users by giving them a loading spinner ↻.

With SSR you get the fully interactive page, with Remix you don't even think about it.

6. UI/UX 💅🏻

I don't have to give up everything I've learned with React + Tailwind CSS components, in fact, now I focus more on them to give my users great UI/UX.

Full Stack Routes

7. Integrations 🎁

Working with DBs has never been easier with @prisma + SQLite for local dev, and @supabase for a fast ⚡️ PostgreSQL prod app; combined with @stripe and @postmarkapp, it gives us full power for any SaaS app idea that comes. & of course @vercel for hosting 👌

Full Stack Routes

I would not be surprised if the Remix team (@mjackson, @ryanflorence, @kentcdodds) came up with a Vue/Svelte + Remix tech in the near future, making almost every full-stack dev dream come true.

Full Stack Routes

Let me know your thoughts 😃!

If you liked this post, follow me on Twitter or subscribe to the Newsletter for more 😃