Executando verificação de segurança...
3

Opa, @fredericoufsj! Vou dar meus 10 cents de contribuição aqui porque, há pouco mais de 1 ano atrás, peguei um projeto exatamente igual ao que você descreveu (uma plataforma, estilo netflix, para hospedar aulas). O cliente queria liberar aulas semanais com o mesmo conteúdo em formatos diferentes (vídeo, podcast, blog post e pdf) e alguns adicionais para quem assinasse o plano "premium". Tudo isso em cerca de 45 dias e com pouquíssima experiência em projetos grandes. Vou separar em etapas a partir daqui para descrever toda minha jornada.

Stack Escolhida

Inicialmente imaginei que seria um MVP para uma turma pequena, algo como uns 10 a 15 alunos, então fui confiante em tecnologias que eu já conhecia para poder entregar.

Para o backend, escolhi o Strapi CMS, um headless cms muito bom que já me entregava boa parte do que eu precisava: um painel para cadastrar os conteúdos, gerenciar usuários e autenticação, api rest e graphql. Tudo em um único lugar, sem precisar quebrar a cabeça, afinal, não tinha tempo e era um MVP. Integrei com AWS S3 para hospedar os assets e fiz deploy na Heroku.

Para o frontend escolhi o Next.JS por conta do Next Auth, que me facilitou muito a parte de autenticação dos usuários, e porque seria uma boa utilizar o Incremental Static Regeneration que o Next disponibilizava. Claro, fiz deploy na Vercel.

Para os pagamentos, escolhi a Stripe que, ao meu ver, é uma das melhores plataformas de pagamento que existem hoje. Tem uma API e SDK muito boas e taxas razoáveis quando comparado com os outros player que temos aqui nas terras tupiniquins.

Regra de negócios

A princípio, o cliente queria algo como a Netflix mesmo. O usuário escolhe entre dois planos e paga uma mensalidade para ter acesso aos conteúdos, podendo cancelar quando quiser. Isso foi um fator crucial para a escolha da plataforma de pagamentos que citei acima, pois ela atendia muito bem ao modelo de negócios que o cliente queria.

Agora vamos à saga...

Houston, we have a problem

Lembra que eu disse que imaginava que seria um MVP para umas 15 pessoas? Então...

O cliente fez uma live de lançamento e disponibilizou o link do checkout. Cerca de 100 pessoas assinaram.

Por sorte utilizei a Vercel para o front e a Stripe como plataforma de pagamentos (digo sorte porque na época eu não entendia absolutamente nada de como servir aplicações para múltiplos acessos simultâneos. Só havia trabalhado com sites que recebiam, no máximo, alguns milhares de acesso no mês todo).

Do ponto de vista do Marketing, foi um sucesso.

Mas os dias foram passando e os problemas foram aparecendo, principalmente em performance. A Vercel segurou bem o front, mas eu não havia disponibilizado os assets via CDN, principalmente os vídeos.

E falando em vídeos, por ser um MVP, estávamos disponibilizando vídeos em formato .mp4 mesmo, sem transcoding, DRM ou coisas assim que são triviais nesse modelo de negócios mas eu não fazia a mínima ideia que existia.

Há cerca de 3 meses atrás (quase 1 ano depois do lançamento) o cliente quis mudar a regra de negócios. Agora não era mais modelo de assinatura e sim pagamento anual com possibilidade de parcelamento em até 12x. Muito bom, mas a Stripe não aceita pagamentos parcelados.

E como ficam os usuários que estão no modelo atual? Por falar neles, já são mais de 1.000 assinantes na aplicação que era pra ser apenas um MVP (claro que já corrigi inúmeros dos problemas que apareceram no caminho pra continuar com a aplicação de pé).

Então lá vamos nós ter que mudar toda a estrutura da aplicação e a plataforma de pagamentos para poder atender ao cliente...

Vou parar por aqui porque acho que já me alonguei demais e creio já ter passado a ideia.

Quanto cobrei nesse projeto?

R$ 8.000,00 (sim, apenas 8 mil reais). Me arrependo toda noite quando coloco a cabeça no travesseiro. Perdi noites e finais de semana corrigindo bugs, falhas de sincronia entre pagamentos e liberação de acesso entre outros problemas. Mas foi esse projeto que me me fez adquirir cerca de 80% do conhecimento que tenho hoje (e considero muito pouco ainda).

Enfim, não há como precificar nem estimar tempo logo de cara. Não dá pra saber com exatidão quanto tempo você levará e quanto precisará investir em conhecimento para chegar no resultado "final" (entre aspas porque em desenvolvimento não tem final, se o projeto der certo sempre haverá alguma coisa pra se fazer).

Descubra quanto custa a sua hora de trabalho e coloque cerca de 30% a mais no preço final. Combine entregas e pagamentos semanais.

Em relação ao nível de dificuldade, numa escala de 0 a 10, diria que está próximo de 8. Mas com as dicas que tu pegar da galera aqui, pode reduzir pra 6.

Bom, é isso. Se eu lembrar de mais coisas volto a compartilhar aqui.

Carregando publicação patrocinada...
1

Caraca mano, que contribuição foda. Clareou bastante pra mim.
Continuo em conversas com o cliente e isso vai me ajudar demais. Espero alcançar o sucesso que tu atingiu. E muito obrigado pelos seus "10 cents".