@Oliver.O The pain was about react native itself. Each time we had to upgrade Expo for example, everything was broken, and we were tired about this (while I never got breaking issues like this making native apps for years). Also, Kotlin feels way safer than TypeScript; The setup is cleaner (for example no one talks about DI in RN while it’s a standard thing with Kotlin) and we can more issues at compile time.
Settings up a CMP project was easy (done a lot of time before), but understanding React Native modules to embed native code was really difficult (compared to how you embed a native view in Compose which is very easy)
Another reason for the migration is that all our backend has been in Kotlin for a long time, so more cohesion between our components and teams, and the ability to reuse models/logic over projects sometimes.
We’re currently still in the process of migrating, we achieved the setup to have multiple CMP screens in the React Native app, but the plan is too replace all screens over time to get a full CMP app with no more RN/TS. We’re pretty happy about the new screens we have and the way they work.