Jacob Ehlert
engineering
Tue Jan 28 2025
Tech stack
We aim to make Bibleio as fast and performant as possible. To make this happen, we should write good, minimal code, and use performant technologies.
Why aim for speed & performance?
Speedy software is nice, and waiting for the app to load is annoying. We also want to consider users with lower end hardware and internet speeds, cutting down on bundle size helps them out a lot.
Stack
Notice - As of right now, we are still using React, but we plan on migrating soon to more performative and lightweight technologies.
Front-end
For all of our apps, we use Astro + React.
Apps
For the mobile & desktop apps, we use Tauri. This makes it really easy for us to develop apps, since Tauri supports any front-end framework. Using our front-end stack, Astro with Tauri gives us great performance. Tauri uses Rust behind the scenes for system related stuff, such as managing files, which is also good for performance and security.
Design system
In our design package which provides components and styles, we use React, and Radix Primitives for base components, like dialog, selects, etc. For styling we use Tailwind.
Back-end
Our Bible API is planned to be made in Rust with actix-web. We plan to build an authentication server with actix also, once we implement accounts.
Deployments
We use Cloudflare Pages and Workers to deploy our websites, web app, and our Rust API. Their huge edge network reduces latency, and gives us performance, since our products are closer to the users.
For anything that doesn’t really need to be fast, or isn’t once of our products (such as our analytics), we self host it with Coolify on our own server!