Finalmente decidi por…
Expo - para Web e Mobile
Embora eu quisesse a facilidade de desenvolver um app puramente web e envolvê-lo com Capacitor ou algo do tipo (incluindo Tauri), tenho dificuldade em fazê-lo funcionar no Android por causa de como o webview funciona de forma tão diferente das tecnologias modernas.
O Tauri pode ser focado em desktop, o que é uma vantagem. No entanto, nada mais é do que um wrapper para todas as plataformas, na melhor das hipóteses. Ele sofrerá com as limitações da tecnologia web, incluindo a necessidade de contornar o gesto de arrastar no celular e a capacidade de armazenamento offline, etc.
De qualquer forma, também posso envolver meu projeto Expo React Native em Electron se eu quiser um app de desktop mais tarde.
LegendState
Dizem que é mais eficiente e moderno que o MobX (que era meu favorito). Mas o principal motivo de eu usá-lo neste projeto é o plugin integrado para sincronização offline com o Supabase. Há alguns bugs e contornos necessários, mas até agora tem funcionado bem.
Posso usar IndexedDB na Web e SQLite no Mobile, que é exatamente o que quero para aproveitar o melhor de todas as plataformas.
Supabase
Simplesmente porque o Postgres é a escolha certa e ele oferece suporte pronto para Auth e integração com o Stripe. Tentei usar o Appwrite auto-hospedado com o RxDB, porém, há problemas estranhos e era no projeto com Capacitor, então meio que deixei isso de lado por enquanto. Não era uma má ideia, no entanto. Mas usarei o LegendState até mesmo para o Appwrite da próxima vez, porque o RxDB não é gratuito para usar SQLite no mobile.
Stripe
Única solução para SaaS online. E há um template inicial com o Supabase, então estou construindo em cima dele.
Por último…
Sou grato por ter conseguido resolver isso agora. Só preciso construir meus apps agora com esta stack e me familiarizar com ela para construir todos os outros apps que eu queria.
Muito fácil.