Here I will demonstrate how you will save more than 50% of you budget using Hotwire instead of JS libraries like React. Having all cool aspects of a smooth modern App.
SPA is acronym for Single Page Application. These are applications which doesn't reload full page, but only parts of the page giving to the user a smoother feeling, and not losing focus in page. This opens the door to create Mobile Native Apps based on these libraries (like React Native).
Main problem of these SPA modern applications (with React, Vue, Angular...) is that they increase a lot the complexity of web applications by needing a JSON API server and Frontend application, triplicating your systems and human resources.
Rails solves this smartly by sending its traditional HTML partials to be replaced in the browser by Turbo.js, based on the HTML tag information. So you are saving on complexity, development costs and number of developers. And promoting happiness for your developer!!!
Hotwire is divided in two packages Stimulus and Turbo. At the same time Turbo is divided in Drive, Frames and Streams:
As you see the key feature is that you are getting HTML from backend, and replacing it directly in frontend. So you don't need a specific API server, you only need your traditional Rails server. And no need of a huge Javascript Application (heavily implemented with React, Vue,....), so you don't have to triplicate development costs to have a SPA-feeling app.
Solving this part, you can also use Turbo to create Mobile Native Apps with turbo-android and turbo-ios.