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

[PITCH] Criei um sistema de automação de Instagram - E HOSPEDO EM CASA! (Versão Longa)

Nenhuma palavra abaixo foi escrita por IA, então relevem erros, e espero motivar um pouco vocês a criarem seus projetos, boa leitura! ✨

SE QUISER UMA VERSÃO RESUMIDA, CLIQUE AQUI

Quem sou?

Olá! Me chamo Vinícius Roque, sou desenvolvedor a mais de 4 anos, tenho curso superior em Desenvolvimento de Jogos, mas no fim, me apaixonei mesmo por criar soluções, gosto de fazer as coisas "acontecerem". Venho hoje contar um pouco sobre meu mais novo projeto, a Quero Insta

O que quero falar?

Neste pequeno artigo, quero passar por alguns pontos, então vamos falar sobre:

  1. Como surgiu a ideia
  2. O que é a Quero Insta?
  3. Quais tecnologias eu escolhi
  4. Por que hospedo em casa?
  5. O que preciso para criar um Servidor?
  6. Dificuldades e perrengues pelo caminho
  7. Conclusão

1. Como Surgiu a Ideia

Recentemente, vendo várias pessoas na onda do desenvolvimento de SaaS, gerando renda, abrindo empresas, e na maior parte das vezes motivando outras pessoas a fazerem o mesmo (sendo ou não da área de tecnologia), comecei a me perguntar - O QUE EU POSSO FAZER?

Eu, que sempre gostei de automações, pensei em algo que pudesse "trabalhar" pra mim, fazendo todo o serviço e gerando a receita, e realmente saíram algumas ideias legais, e diversas POC's muito funcionais que revejo sempre a possibilidade de dar continuidade. Mas, uma em particular, me parecia mais promissora - Afiliado Automático.

A ideia girava em torno de, sendo um afiliado (inicialmente Shopee), raspar dados de produtos, criar e editar vídeos, gerar um áudio e uma descrição com CTA e fazer a postagem em uma página no Instagram com o link de afiliado para receber uma comissão, tudo isso de forma 100% automática e todos os dias. Consegue ver o valor disso? Pra mim, parecia o auge de geração de valor! E eu realmente consegui concluir várias etapas, com um custo baixo rodando IA's locais e projetos open source de áudio/vídeo, mas uma única coisa me atrapalhava, após entregar o conteúdo, como eu respondo os clientes? Como eu envio esse "link"?

2. O que é a Quero Insta?

Então, surgiu a necessidade: Eu preciso automatizar essa entrega!
Pesquisei ferramentas, e encontrei poucas que o fizessem, mas que tinham o exato mesmo problema - Quanto mais você usa, mais você paga!

Eu, que sempre gostei de controlar meu financeiro, não me vejo usando ferramentas que cobram por uso, afinal, quanto vou pagar no fim do mês, eu preciso saber! Então pensei: O que me impede de criar a minha? NADA! Bora por a mão na massa!

A Quero Insta é uma plataforma de automações de interações do Instagram, ou seja, Comentários, Mensagens e Stories são cadastrados na plataforma, e, se der match, enviam a resposta pré-programada, muuuuito usada por páginas de "achadinhos", onde falam: - Comenta QUERO que te envio o Link! (Viu de onde veio o nome, né? haha)

3. Quais tecnologias eu escolhi?

  • Backend
    Para meu Backend, eu fui na minha linguagem e framework que mais amo, o lindo conjunto de Python com FastAPI, sério, tem coisa melhor?
    Por ser uma linguagem que já uso a um bom tempo, nem pensei muito, fui na zona de conforto, afinal, é 1000x mais fácil resolver algo quando sabe encontrar o problema.
  • Frontend
    Nunca fui bom no Front-end (sério, feliz que o repositório é fechado e ninguém vai ver as atrocidades por enquanto haha), então pra isso, utilizei a que mais fazia sentido pra mim em relação a construção, que foi o Nuxt (Vue3). Sério, o ápice de organização, um arquivo com Template, Script e Style? É PERFEITO!
  • Banco e Cache
    Esse não teve segredo, fui de SQL padrão para organizar a estrutura, escolhendo o PostgreSQL para banco, e o fofinho do Redis para cache

E assim, criei tudo separadinho, Backend, Frontend, Homepage e Banco, tudo cada um com seu container, e era hora de seguir a jornada de botar tudo no ar, mas... Onde eu coloco?

4. Por que hospedo em casa?

Achei vários candidatos, como: Vercel, AWS, Hostgator, Heroku, Hostinger... Opções não faltavam, mas por algum motivo, não gostava de nenhuma (financeiramente falando). A mais interessante era a Hostinger, com seu belo plano de ≈40 reais por mês, somando 935 reais de investimento com seu plano de 2 Anos (fora a renovação, que beira os R$1700 se eu não quiser criar uma máquina nova e migrar tudo quando o plano finalizar)
Achei loucura, não estava disposto a investir tanto, foi ai que comecei a pensar - O que é mais barato, criar um servidor ou contratar um?

Plano Hostinger Plano Hostinger

5. O que preciso para criar um Servidor?

Em questão de potência de Hardware, eu já sabia o que queria: Bater o plano da Hostinger KVM2

  • Mínimo 2 núcleos CPU
  • 8GB Ram
  • 100GB de Armazenamento

Quais opções temos no mercado? Dentre as minhas pesquisas, a mais conhecida e de mais prestigio era a RaspberryPI, com vários e vários vídeos falando sobre ela, mas ficou tão "famosinha" que seu preço subiu junto com seu publico. E ai que veio a coisinha mais linda com ótimo custo benefício: ORANGE PI!
Sério, simplesmente me encantei, tantas versões, tantos recursos, e um maravilhoso custo, encaixando no que exatamente no que eu estava procurando.
Calculei, recalculei, pesquisei e finalmente montei o meu setup ideal, ao comprar peça por peça eu consegui o valor de R$718 (com impostos) BATENDO (E MUITO) a Hostinger! E sem precisar me ater a mensalidades, renovações e possíveis mudanças de preços nos valores dos servidores, alterando os contratos e valores como querem.
SETUP MONTADO (a placa escolhida foi a OrangePi 3B):

  • 4 Núcleos de CPU (Dobro da Hostinger)
  • 8GB Ram
  • 512GB de Armazenamento (NVME, 5X o da Hostinger)

Dava pra ir além, ainda havia margem financeira, mas eu já estava super satisfeito! Comprei tudo e comecei o meu projeto 🚀

Se quiser, coloquei um momento merchant com as peças ao final do artigo, mas só se fizer sentido pra ti.

OLHA QUE COISINHAS MAIS LINDA QUE FICOU ✨
OrangePI

6. Dificuldades e perrengues pelo caminho

Vamos começar com uma palavra: INFRA
Valorizem a galera de infra que trabalham com vocês, foi um grande desafio. Sem nunca ter configurado um servidor e sem ter conhecimento de segurança de acesso ou disponibilidade de um servidor para a internet, foi um trabalho chatinho mas EXTREMAMENTE RICO em aprendizado, conhecendo as diferenças dos Sistemas Operacionais e vendo vantagens e desvantagens de cada um; montando, remontando, gerenciando armazenamento (principalmente quando usava um cartão SD e um HDzinho velho que eu tinha de forma externa), enfim... Muito conhecimento novo adquirido nessa jornada.

Uma grande pedra no sapato: META
Eu realmente não fazia ideia do quão INSUPORTÁVEL era passar pelo processo de homologação da meta. Foram mais de 20 submissões, sempre uma mais frustrante do que a outra. "Não foi possível achar tal botão", "Não deu para verificar a funcionalidade no vídeo"... Sério, gravei tantas vezes, nesses loooongos dias eu realmente "gastei" meu inglês, até mesmo traduzi a aplicação pra facilitar essa etapa, mas olha, não recomendo a ninguém!

Outro ponto foi REDE, sabiam que o seu provedor de internet que você utiliza, não gosta que você compartilhe nada partindo dela? Ela não disponibiliza um IP Público de acesso pra você, então, para dar a volta nisso, sem ter um IP Público aberto, precisei utilizar uma conexão da Cloudflare chamada TUNNEL, que ajuda a ter uma conexão segura entre o meu servidor e disponibiliza de forma confiável minhas aplicações na rede!

OBS. Precisa ter um domínio apontando para a Cloudflare para utilizar o Tunnelamento, mas este é o ÚNICO requisito, fora isso, é 100% grátis a utilização
EDIT: importante destacar que deve ser um domínio válido, configurando o nameservers para apontar para a cloudflare, ou seja, não é possível utilizar DDNS's locais para essa solução

Conclusão

Entre diversas dificuldades técnicas (principalmente do front 🤡), acredito que se eu tivesse a oportunidade, faria TUDO novamente. Acho que não existe um projeto perfeito, algo que vai te gerar MILHÕES de reais por mês de forma fácil, ou uma forma de chegar ao público certo de forma rápida, mas aqui estamos... Ainda não tenho assinantes da Quero Insta, e até então todo o meu investimento só trouxe conhecimento e não dinheiro, então queria compartilhar um pouco desse conhecimento com vocês!

Enfim, sigam a Quero Insta (Instagram), se conectem comigo no Meu Linkedin, acessem minha plataforma e digam se o Design ficou bom haha

Grande abraço, e como o Teló diz: Eu te adoro!
Obrigado 🚀


Momento merchant

(Se quiserem adquirir a Orange, podem pegar nos links abaixo - montei o Kit separadamente, assim como está descrito, para ficar mais barato.
POR FAVOR, somente o faça se REALMENTE isso fez sentido pra ti, e se não achar lugares mais baratos, pois a ideia geral é ECONOMIA. Estes foram os vendedores que comprei - obs. links de afiliado)

ORANGE PI 3B (8GB) - Somente a placa (paguei R$443 na minha compra em nov. 2024)

FONTE DE ENERGIA - Padrão EU, cuidado pra não pegar errado.

CASE PARA A PLACA - Este é mais estético, não precisa para funcionar, mas achei muito bom essa proteção a mais.

SSD M.2 512GB Lite - Este foi recente (mas contabilizado no preço que citei acima, paguei R$202, rodei um bom tempo somente com um Cartão SD, que é MUITO mais barato, mas como realmente buscava mais armazenamento, fui para o SSD - Veja o tamanho que te atende.

Carregando publicação patrocinada...
4

Sou fissurado em self-host e devops, esperando a oportunidade (R$) de montar um servidor domestico e hospedar algumas aplicações para uso e portfólio.

Um ponto sobre o CloudFlare Tunnels

Se não me engano, além de exigir um domínio valido, exige que você configure os registros NAMESERVES.

Acho interessante pontuar pois alguém pode pensar que uma solução de domínios dinâmicos como o DDNS funcionaria, más não funciona pois não permitem configurar os NAMESERVES.

Duas perguntas

Teve algum problema com arquitetura ARM ?

Acredito que esteja no mínimo realizando backups periódicos, automatizados e de preferência em outro disco do banco de dados sqlite, más você está usando alguma solução para "replicação ao-vivo"? Fico um pouco receoso com bancos de dados quando penso que caso o disco morra, vou perder tudo que foi salvo desde o ultimo backup.

4

É realmente uma experiência única e da sempre uma satisfação poder cuidar do seu servidorzinho ❤️

Boa, vou fazer um Edit para pontuar a parte do registro pra trazer mais clareza.

Agora sobre as perguntas:

  1. Tive zero problemas em relação a arquitetura, acho que principalmente por usa-lo desde o inicio somente como server, evitei possíveis probleminhas do ecossistema que podem aparecer na versão desktop. (OBS. Utilizei somente Ubuntu/Debian, estando agora com o Debian bookworm)

  2. Eu perdi um banco 🤡, como comentei que estava usando um HD externo, era realmente um HD beeem velhinho, como estava só no modo desenvolvimento a aplicação, iniciei por ele e deu um mega trabalho gerenciar para que os dados do docker apontassem pra ele, ele ficava desconectando com frequência e dava problema de acesso nos volumes.
    Enfim, ele estava no fim da vida, e morreu meses depois tendo algumas automações registradas nele (da minha conta, claro), o que me fez refletir bastante em como me proteger um pouco melhor desse risco.
    Atualmente, faço backups periódicos por script mesmo, salvando de forma "externa" em um pendrive plugado no server, assim, mesmo com a morte do SSD, tenho o backup para restauração à mãos. Ainda busco uma solução melhor, mas para este início já tem gerado a confiabilidade que eu buscava nessa primeira etapa.

Como próximos passos, outro problema que pretendo resolver, é disponibilidade. Já estou colocando pra dentro do orçamento um novo servidor (talvez não com a mesma potência) mas que fique como reserva para balanceamento caso o primeiro caia (provavelmente na casa de algum familiar), e também um mini no-break para segurar o servidor e a internet em caso de queda de energia (acontece raramente aqui em casa, mas acho bom ter essa segurança a mais).

3

Projeto muito top!
Estava trabalhando em um projeto pessoal, onde precisava automatizar postagem de vídeo no Instagram de formar automática, não consegui a permissão usando a API oficial, tentei tanto que desistir.
Consegui fazer a configuração para postar imagens, textos, mas vídeo não teve jeito.
Testei algumas bibliotecas para NODEJS que faz essa automação, mas de forma pirata, mas não funciona bem, o Insta detecta que é bot.
Então se poder explicar melhor o processo para conseguir as liberações para postar os vídeos, ficaria agradecido rsrsrrsrsrrs.

2

Muito obrigado! Fico feliz de trazer isso aqui pra comunidade, já estava refletindo a um tempo para escrever ❤️

Seguinte, do uso da API Oficial, tu só precisa da chamada "permissão avançada" se for algo externo à uma equipe, ou seja, que você quer realmente comercializar. Caso a ideia seja manter como um projeto pessoal ou algo dentro de uma quantidade pequena de usuários, você pode ir cadastrando manualmente como "Funções" dentro do APP, podendo colocar como "Testador do Instagram", e feito isso basta aceitar lá dentro da plataforma do Instagram logando na conta.

Caso seja para algo realmente comercial (pessoas usando o seu app sem esse cadastro prévio), ai sim precisa:

  • Cadastrar e verificar uma empresa
  • Identificar e listar as exatas funções que você vai utilizar na aplicação
  • Ter a aplicação funcional e publicada, com uma conta de teste vinculada à ela (precisa disponibilizar o acesso a essa conta, principalmente se houver funções pagas dentro da aplicação)
  • Gravar os vídeos (preferencialmente em inglês) descrevendo ABSOLUTAMENTE cada etapa de como será utilizada CADA uma das funcionalidades. (obs. Você precisa regravar para cada uma das funcionalidades, não podendo "reciclar" o vídeo tentando mostrar todas elas no mesmo)

Dica geral: Dê o máximo de detalhes possível, se conseguir, disponibilize uma versão em inglês da aplicação para o teste. É sério, lide como se fosse explicar para uma criança, várias vezes fui recusado por que não encontravam o botão com determinado nome que mencionei, por exemplo, eu chamava de "Iniciar" e na tela estava "Comece agora".

Enfim, é uma experiência extremamente exaustiva e frustrante (enviei 20x fora várias discussões no chat), mas realmente espero que se tu for usar comercialmente tenha uma sorte de pegar bons testadores.

Grande abraço!

2
3

Muito obrigado! Já fazia um tempo que eu estava pensando em trazer pra comunidade, e fico feliz de ter conseguido (e mais ainda da galera estar engajando mais com a publicação longa do que com a resumida)

Já valeu cada segundo que passei escrevendo ❤️

2

Olha ficou muito bom mesmo viu.

FrontEnd de primeira, Parabéns

Enfim um SaaS útil que vejo publicado aqui nessa chuva de coisas inutéis que publicam todos os dias.

Desejo-lhe muito sucesso nessa empreitada.

2
2

Cara, meus parabens pelo o projeto, show de bola!.

Acredito que assim como vc, eu tambem tenho tentado produzir algo que gere algum valor pra alguém, e desta forma, pode ter uma renda extra, mas sendo bem sincero, é muito mais facil, quando apenas sonhamos, o dificil mesmo é colocar em pratica, ou seja, tirar do papel... kkkkk

O ponto que mais me chamou minha atenção, claro, depois do seu produto, foi o fato de vc hospedar o seu projeto em um Orange PI, digo isso pq, tenho 3 raspberry pi 3B (sim, eu sei, ja são bem antigos kkkkkk) mas que ainda quebra um galhão em meus projetos pessoais, principalmente uso de acesso remoto aos meus dispositivos em casa. Quero um dia pode detalhar as gambiarras que faço com eles, pra ver se ajuda alguém kkkkkk.

Cara, por ultimo, o seu projeto resolve uma dor q não é a minha, mais ficaria feliz em ver futuramente, algum post seu, falando o resultado que foi gerado atraves de sua aplicação.

Um abraço, e mais uma vez, meus parabens.

2

Muitíssimo obrigado ❤️

Cara, POR FAVOR, traga conteúdo sobre! E quanto mais gambiarra melhor, pode ter certeza que vou acompanhar de perto hehe

Espero realmente gerar um impacto, se não com essa, mas com alguma aplicação ou solução que eu desenvolver, mas quero usar conhecimento pra realmente agregar valor pra alguém no dia a dia.

Grande abraço!

1
2

Muito obrigado! 🚀

Siiim! É difícil conseguir diluir um custo para o cliente sem que ele "ache ruim".
Esse é um grande desafio quando se presta esses serviços, e que muita das vezes, principalmente quando o cliente não tem noção dos valores de ferramentas, acabam ficando desconfiados ou querendo buscar uma forma mais barata e com a mesma qualidade (mesmo que duvidosa). Enfrentei bastante quando fiz alguns projetos wordpress para alguns clientes no início da carreira, os quais não entendiam o custo de desenvolvimento + mensalidade que precisavam pagar dos servidores. Mas é isso, faz parte da rotina, aprender a explicar e conseguir realmente mostrar o Custo x Benefício do que está sendo pago por ele.

Grande abraço!