[PITCH] Meu SaaS de Criador de Currículos com IA está tomando forma

Aí galera, gostaria primeiramente de agradecer quem comentou no meu post original sobre meu Criador de Currículos com IA e eu estou formatando um modelo melhor de precificação.

https://www.tabnews.com.br/omarcusmoreira/ptich-o-mvp-do-meu-saas-esta-pronto-mas-nao-sei-precificar

  • Plano Gratuito: permite criar até 3 currículos, gerenciar 1 perfil, cadastrar até 10 recrutadores, 10 oportunidades de emprego e realizar até 10 interações com IA (gerar Bio de LinkedIn, CoverLetters e Keywords).

  • Plano Básico: aumenta os limites para 10 currículos, 3 perfis, 30 recrutadores, 30 oportunidades e 30 interações.

  • Plano Premium: para quem precisa de mais recursos, permitindo criar até 20 currículos, gerenciar 10 perfis, interagir com 200 recrutadores, 100 oportunidades e realizar até 60 interações.

Todas essas cotas serão renovadas mensalmente. Resolvi manter o plano Premium para quem for um usuário realmente ávido do sistema.

Agora eu tenho uma dúvida técnica para quem ja manja de Stripe ai: Como estou usando Firestore e sou um cara de front, seria mais fácil eu fazer uma validação no client side de quando o usuário loga ele verifica se o plano é valido e se não for ele faz o downgrade automático, ou eu faço algo por firebase functions e valido pelo back quando expirou a validade do plano do usuário???

Eu sei que o stripe emite eventos para quando o usuário cria planos novos, então acho que isso não vai ser um problema.

De qualquer forma, muito obrigado a quem testou e me deu feedbacks!

Quem ainda quiser testar todos os recursos premium de forma grátis, aqui vai o link: https://mecontrata-ai.vercel.app/

Usar Firebase Functions seria a melhor escolha por questões de segurança e controle. Você pode configurar funções que são ativadas pelos eventos do Stripe (como expiração ou cancelamento de assinatura), automatizando o downgrade e evitando que qualquer lógica importante fique exposta no client-side. Isso também facilita a manutenção do sistema no futuro, centralizando a lógica de verificação.

Eu estava vendo aqui que essas ações são controladas por webhooks da Stripe. As functions seriam para substituir isso? Ainda não está claro pra mim...
Os webhooks do Stripe recebem os eventos (tipo quando um plano expira), e as Firebase Functions entram pra processar esses eventos. Elas não substituem os webhooks, só usam as infos que chegam pra fazer coisas como atualizar o plano do usuário. Assim, tudo rola no back-end, mais seguro e sem risco de manipulação no front.

bom dia. eu li as duas postagens e não entendi uma coisa: o que são aqueles 10 recrutadores do plano pago? o recrutador estará dentro da plataforma? ou você vai integrar com ferramentas de terceiros, disponilizando de forma unificada pro usuário usar somente seu sistema, ao invés de interagir em várias plataformas? se o recrutador estiver dentro da plataforma, não seria o caso de cobrar dele, ao invés de cobrar do candidato?

na verdade os recrutadores são contatos que voce pode cadastrar como se fosse um CRM. o usuario mesmo cadastra e consegue ter estatisticas de quantas vagas esse recrutador tem com voce, qual recrutador tem entrevistas em estagio mais avançado etc. o recrutador em si nao participa da olataforma (ainda XD).

Recomendo você acessar a Catho e vê como eles trabalham.