Pitch: Lancei meu primeiro SaaS, e aprendi muito com isso.
Fala pessoal, aqui é o Vitor, de novo, e pela última vez para anunciar que lancei meu primeiro SaaS: Curto, uma plataforma de links curtos e engajamento.
Fiz outros três posts falando sobre como foi a evolução da plataforma, se você se interessar, aqui vai os links, onde espero te ajudar de alguma forma:
- Pitch: Como eu fiz um módulo de domínios customizados pro curto.io
- Pitch: como eu desenvolvi o módulo de analytics do meu micro-saas
- Pitch: Como eu criei um encurtador de URL com Spring Boot, Next.JS e Redis
O maior MVP da história
Se você nunca ouviu falar desse termo, MVP (Minimum Viable Product) significa Produto Mínimo Viável, que por sua vez, aponta para a versão mais básica de um produto que pode ser comercializável, dedicando o mínimo de recurso para entregar a principal proposta de valor da idéia por trás de um produto.
Simples né? Não pra mim, pois eu enxerguei esse projeto como um desenvolvedor, e não como um empresário. Por encarar as coisas como um desenvolvedor sedento em construir algo legal, o tal "Produto Mínimo Viável" nunca sequer ficava viável 😂, pois entregar uma aplicação "incompleta", isto é, com bugs, sem as melhores práticas e sem uma arquitetura escalável, estava fora de cogitação.
O que era pra levar 2 semanas para uma versão básica do produto, levou 5 meses 🤡 e nem estou perto de terminar todas as features que eu tinha pensado para o produto.
A imagem abaixo relata exatamente o que eu aprendi nesse processo:
A consequência de um MVP gigante.
Ter um MVP tão longo naturalmente fez com que minhas expectativas ficassem muito altas. Ouvi de muita gente ao meu redor (amigos, ex-chefes, ex-colegas de trabalho) de que o produto estava muito bom, eu concordava com isso pois acredtiava ter feito um bom trabalho.
Só que não é como se eu fosse desbancar o bit.ly, na real, nem era a idéia, mas dedicar tantas noites em algo te faz pensar que aquilo é realmente muito especial, quando na verdade, na maioria das vezes, não é (inclusive, tem um video muito legal do Filipe que fala sobre isso).
O sucesso de um produto não tem a ver com a quantidade de tempo dedicada na sua construção, e sim no conjunto da obra (construção de audiência, marketing, novas entregas, pesquisa de mercado, experiência de usuário e muitas outras coisas) após seu lançamento 🚀.
Calma, isso não é uma história triste.
Apesar da melancolia, essa não é uma história triste. Afinal, no meio de tanta idéia engavetada, consegui lançar meu primeiro produto, e isso é uma marca e tanto, do qual me orgulho muito.
Posso dizer com certeza de que construir esse projeto me fez crescer de inúmeras maneiras. Pude conhecer mais sobre algumas ferramentas, pude desenvolver novas habilidades e conhecer pessoas incríveis no caminho.
A parte boa: Ganhei $5.000 em créditos na AWS.
A AWS, possui um programa chamado Activate for Startups, feito para impulsionar startups na construção e desenvolvimento de seus produtos.
Me inscrevi no programa e ao usar um cupom disponibilizado em uma comunidade de Founders, consegui $5.000 em créditos na AWS para hospedar e operar o Curto, que no custo que estou tendo mensalmente, garantirá quase 5 anos de operação sem custo.
Tempo suficiente para escalar o produto, ou, se não der certo, dropar com ele.
Esse programa não somente disponibiliza créditos para uso na AWS, mas também oferecem várias ofertas bem legais para ajudar na operação do seu projeto, onde destaco as seguintes:
- Isenção de taxa de transação no Stripe nos primeiros $ 25.000 processados.
- $200 em créditos na Vercel durante 6 meses.
- 6 meses grátis de Notion Plus, incluindo IA ilimitado.
A parte técnica
Nos outros posts eu falo um pouco mais sobre os detalhes da implementação da solução, mas aqui vai uma lista com as tecnologias que eu usei pra implementar:
- Next.js para o front/redirecionamento.
- Spring Webflux para a API principal.
- MongoDB como banco de dados.
- S3 como Storage.
- Amazon SES para envios de e-mail (estou pensando em migrar para Resend)
- SNS/SQS como filas assíncronas no backend.
- Docker para container.
- Nginx para webserver.
- Redis para cache.
- ConvertKit para newsletter e mail marketing
- CloudFlare para WAF e DNS.
Na AWS, escolhi uma t3.medium para hospedar a solução nesse momento, com um Auto Scaling Group para escalonamento automático em caso de aumento de volume.
No MongoDB, atualmente estou executando um cluster dedicado M10.
Conclusão
Espero que quem tenha lido até aqui tenha gostado e aprendido algo com meu relato. Fiquem atentos a novidades e caso queiram conversar um pouco mais sobre o processo, ou tenham alguma sugestão para próximos passos, entrem em contato comigo através dos seguintes canais:
E-mail: [email protected]
LinkedIn: https://medeirol.ink/linkedin
GitHub: https://medeirol.ink/github
Instagram: https://medeirol.ink/instagram
YouTube: https://medeirol.ink/youtube