Skip to main content
Version: v3.0

Tech Stack

Client (Frontend)

Server (Backend)

Common Questions

Why aren't you using TypeScript?

This project started as an internal project before it was clear that TypeScript was going to match our philosophy . We are gradually converting to TypeScript as we go and generate types as part of the package builds.

Rhino projects have always supported both TypeScript and JavaScript for implementation, currently providing Typescript 5.5 support.

Why aren't you using Next.js or Remix?

These are possible future directions for Rhino, as early adopter of Tanstack Query (rather than Redux) and drive for React Server Components and as a path for. We have also managed to keep the lower levels of our stack React Native friendly this way.

We also chose to go with Vite as we were migrating an existing Create React App project at the time (https://react.dev/learn/add-react-to-an-existing-project) and there are good Vite integrations for Rails. Additionally the Vite Plugin API allowed us to implement virtual modules and other tools. Remix is moving towards Vite as well.

Why are you using Ruby on Rails?

At the time the decision was made, Ruby on Rails was the most productive and well understood web framework for building web applications. It has a large ecosystem of libraries and tools, and a strong community as well as a track record of being used to build companies like Github and Shopify. It is also a good fit for the modular monolith architecture that we are using.

Still not satisfied? Start a discussion