Finalmente me decidí por…
Expo - tanto para web como para móvil
Aunque quería la facilidad de desarrollar una aplicación puramente web y envolverla con Capacitor o algo similar (incluido Tauri), me cuesta hacerlo funcionar en Android debido a que el webview funciona de manera muy distinta a la tecnología moderna.
Tauri puede estar enfocado al escritorio, lo cual es una ventaja. Sin embargo, en el mejor de los casos no es más que un envoltorio para todas las plataformas. Sufrirá las limitaciones de la tecnología web, incluida la necesidad de soluciones alternativas para el gesto de arrastre en el teléfono y la capacidad de almacenamiento sin conexión, etc.
De todos modos, también puedo envolver mi proyecto de Expo React Native en Electron si más adelante quisiera una aplicación de escritorio.
LegendState
Se dice que es más eficiente y moderno que MobX (que era mi favorito). Pero la razón principal por la que lo uso en este proyecto es el plugin integrado para la sincronización sin conexión con Supabase. Hay algunos errores y soluciones alternativas necesarias, pero hasta ahora ha funcionado muy bien.
Puedo usar IndexedDB en la web y SQLite en móvil, que es exactamente lo que quiero para poder aprovechar al máximo todas las plataformas.
Supabase
Simplemente porque Postgres es la opción predeterminada y ofrece soporte listo para usar para Auth y la integración con Stripe. Probé a autohospedar Appwrite con RxDB; sin embargo, hubo un problema extraño y era en el proyecto de Capacitor, así que lo dejé de lado por ahora. No era una mala idea, aunque la próxima vez usaré LegendState incluso para Appwrite, porque RxDB no es gratuito para usar SQLite en móvil.
Stripe
La única solución para SaaS en línea. Y hay una plantilla inicial con Supabase, así que estoy construyendo sobre ella.
Por último…
Estoy agradecido de haberlo resuelto ahora. Solo necesito construir mis aplicaciones con este stack y familiarizarme con él para crear todas las demás aplicaciones que quería.
Demasiado fácil.