O app de IA Trainer AI foi lançado inicialmente em React Native, mas foi reescrito para usar SwiftUI nativo. O objetivo era melhorar a experiência do usuário e garantir a segurança da IA.

Reescrevi meu app de React Native pra SwiftUI com usuários pagantes em produção

Motivação para a Migração

O app de IA Trainer AI é um personal trainer com IA, gerando um plano de treino, acompanhando a execução e corrigindo a forma. Comecei em React Native + Expo, mas decidi migrar para SwiftUI nativo. A decisão foi baseada em várias considerações técnicas.

Desvantagens do React Native

Live Activities e widgets de lock screen (treino rodando na tela bloqueada) eram gambiarra via bridge. Nativo, virou um target normal do Xcode. O app é iOS-only na prática, e a abstração cross-platform custava mais do que o benefício. Binário menor, cold start mais rápido.

Migração de Usuários Existentes

Para migrar os usuários existentes, desenvolvi um LegacyMigrator que lê o estado do AsyncStorage do app RN antigo e converte para o modelo novo no primeiro launch da versão nativa. Ninguém perdeu treino, ninguém pagou de novo.

Implementação de IA

A IA rodava com framework local - nativo me liberava muitas API's para explorar, tendo tudo localmente. Binário menor, cold start mais rápido. A chave da OpenAI nunca foi colocada no app.

Custo de IA

O custo de IA é margem. Num app de USD ~6-10, uma chave vazada ou um usuário abusando do chat pode consumir o lucro do mês. Montar isso depois que já tem tráfego real é bem mais doloroso do que no dia zero.

Aprendizados

O primeiro mês de lançamento gerou USD 44,06, com 4 vendas (todas no Brasil). O segundo mês gerou USD 66,45, com 6 vendas (5 no Brasil e 1 na EUA). A arquitetura de IA local e a implementação de uma chave de OpenAI protegem contra riscos de vazamento. A decisão de monetização com compra vitalícia foi testada.

Conclusão

A migração de React Native para SwiftUI nativo gerou economia significativa e uma experiência de usuário mais consistente. A arquitetura de IA local e a implementação de uma chave de OpenAI protegem contra riscos de vazamento. A decisão de monetização com compra vitalícia foi testada.

NativePagantesReactReescreviSwiftui