It is super productive. It will scale for 99% of the apps. There are common gotchas that hurt your performance, mostly related to ActiveRecord/DB layers. Like neglecting n+1's or not making sure indexes for actual query paths are in place. You can offload most of overhead to background jobs, caching, etc. You can also throw more money to scale backend servers but it's not the cheapest stack out there.
Also, sorbet/tapioca are great tools for static typing. Admittedly, there's some work to get the proper setup. They have limitations too (don't expect TypeScript levels), but it's worth it. I found a few sneaky bugs that were in the open for years, just by typing one large-ish model (despite it being tested thoroughly).
Does the benchmark reflect your opinion on 3.7? I've been using 3.7 via Cursor and it's noticeably worse than 3.5. I've heard using the standalone model works fine, didn't get a chance to try it yet though.
Not entirely on point, because I used Deel as a contractor, but just my 5 cents. I had some issues with their invoices which was time-sensitive and their CS was very responsive. The issue was solved way faster than I expected.
I think you'll for an app like this you'll eventually want to go with something that was designed for a high throughput (I don't think LISTEN/NOTIFY was). Yes, it's nice because you get it out of the box with Postgres, but you'll find that it's not resilient, you need to be careful with managing DB connections (in your case of hundreds/thousands users it is a significant thing), and it's lackluster compared to a specialized PubSub.
Exactly! I was halfway through the article and thought how LiveView is basically equivalent of the "push ops" pattern described but beautifully abstracted away and comes for free, while you (mostly) write dynamic HTML markup. Magic!
reply