[Projeto pessoal] Postagens automáticas com resumos do TabNews - Notas
Sobre
Essa postagem será um resumo da minha experiência desenvolvendo esta aplicação.
No dia 17/08/2023, eu iniciei um projeto novo que consiste em uma aplicação com tarefas agendadas, como um cron job.
Essas tarefas consistem em realizar integrações com algumas plataformas. Serão buscados conteúdos do TabNews dentro de um determinado periodo e critério, esses contéudos serão resumidos com o ChatGPT e uma postagem será realizadas em algumas plataformas, incluindo esta.
O projeto já conta com integrações com o TabNews, ChatGPT e Medium. No futuro pretendo que todos contéudos publicados sejam automáticamente compartilhados no meu LinkedIn.
Minhas Redes - Medium · LinkedIn · GitHub · TikTok
Como eu tive essa idéia?
Estava auxiliando um desenvolvedor do meu time em uma integração utilizando os Webhooks da Azure Boards. Após a gente bolar uma estrutura de classes para lidar com os Work Items e seus comentários, fiquei na cabeça com como lidavamos com a estrutura de comentários dos Work Items. Não sei como o TabNews me veio a cabeça, mas logo em seguida pesquisei um pouco da API da plataforma e a noite iniciei o desenvolvimento.
Cada idéia seguinte veio de forma natural, uma feature levando a outra e assim por diante. Estou bem feliz com o resultado que estou obtendo até o momento e contente com a rapidez que consegui um subir a aplicação.
Conteúdos relacionados
- Uma sugestão de como trabalhar com muitas variáveis de ambiente em um projeto Node com TypeScript
- [Projeto pessoal][Feature] Primeiro teste de vídeos automatizados para TikTok/Reels/Shorts
Status atual do projeto
A aplicação hoje se encontra hospedada na Heroku.
O código no momento não se encontra em um repositório aberto, mas no futuro pretendo abrir.
Agendamentos
- Resumos do dia anterior no Medium, as 12:30. (Notas - 22/08/2023)
- Resumos semanais no TabNews, toda segunda as 12:00. (Notas - 22/08/2023)
- Por que eu não faço postagens diárias no TabNews? Porque eu não quero floodar o feed do TabNews com contéudos que acredito que não agreguem valor concreto de forma direta.
Tecnologias utilizadas
- Node
- TypeScript
AWS Polly & S3(Notas - 24/08/2023)Ffmpeg(Notas - 24/08/2023)
Experiência
Pude notar que estar desenvolvendo esse projeto, acabou me aproximando dos conteúdos da plataforma, me chamando atenção a ler os conteúdos completos que foram resumidos em minhas postagens e me instigando a realizar as minhas próprias.
Estou utilizando minhas próprias publicações como sugestões de leitura.
Próximos passos
- Integrar com LinkedIn
- Corrigir bug de fuso horário (Notas - 28/08/2023)
Notas
16/09/2023 💭
- Assistindo a NLW AI da Rocketseat fiquei sabendo da existencia do WebAssembly, e da lib Ffmpeg wasm, acredito que irei solucionar o problema de memoria da aplicação, criando uma tela para editar os vídeos para o TikTok, assim irei conseguir utilizar o processamento do cliente para renderizar o vídeo. Ainda fico com o problema de não poder agendar os vídeos para que sejam postados de forma automática, mas esse é um problema que pesquisando vi que a solução mais facil seria pagando um servidor mais potente, porém pretendo finalizar primeiramente as integrações antes de pensar em um servidor mais robusto.
04/09/2023
- Ontem tinha esquecido de publicar também o resumo semanal aqui no TabNews, publiquei manualmente. Após eu terminar de implementar a interface, não haverá mais necessidade de eu fazer na mão isso, pois irá ter opções para eu executar quando eu quiser.
03/09/2023 🐛
- Prompt para o ChatGPT foi muito longo, resultando em erro nos agendamentos. Corrigi e publiquei o resumo diário no Medium.
02/09/2023
- Iniciei a implementação de um painel de administração para gerenciar os agendamentos. Cada modificação que eu faço hoje acabo tendo que realizar um novo deploy.
30/08/2023
- Pequenos ajustes na formatação dos conteúdos das postagens.
29/08/2023 💭
- Estou cogitando contratar um VPS. Estudei custos e provavelmente iria sair mais barato que utilizar um dyno melhor no Heroku.
28/08/2023 🐛
- Timezone do servidor corrigido, bastou setar a váriavel TZ no Heroku. Realizei testes e subi a aplicação.
27/08/2023 🐛
- Erro identificado, onde o vídeo do resumo de 25/08/2023 no TikTok postou a mesma publicação do resumo de 26/08/2023 publicado no Medium. Isso se deve ao fuso horário do servidor, estarei realizando o ajuste o quanto antes.
24/08/2023
- Consegui renderizar vídeos com os resumos e áudio.
- O vídeo final por hora fica salvo em um Bucket na AWS S3, no futuro irei publicar automáticamente nas devidas plataformas.
- Resolvi alguns problemas no deploy.
- Em testes obtive um consumo excessivo de RAM ao criar as imagens do vídeo e renderizar ele. Irei estudar o que posso fazer para evitar pagar um servidor mais robusto.
Primeiro vídeo postado no TikTok
23/08/2023 💡
E se eu gerar vídeos com os resumos das postagens no formato TikTok/Reels/Shorts?
Tive essa ideia e pesquisando me deparei com um vídeo do Filipe Deschamps que justamente criou um projeto que faz algo parecido.
Programei 4 robôs que criam vídeos para mim no YouTube - Vídeo do Filipe
- Iniciei o desenvolvimento da feature acima, utilizando as libs fluent-ffmpeg que utiliza o editor de vídeo ffmpeg e a lib mdimg que converte Markdown em imagem. Para voz estou utilizando o AWS Polly que é um software TTS(text-to-speech) através da lib aws-skd. Ja estou gerando as imagens e o áudio(faltam ajustes), porém estou com problemas em setar parâmetros de duração do vídeo com a imagem.
22/08/2023
- Havia um problema no último deploy, então a postagem no Medium foi feita as 19:10 e não 19 horas.
- Alterei o agendamento das postagens no TabNews para as segundas ao meio dia.
- Alterei o agendamento das postagens no Medium para as 12:30.
- Alterei o texto das postagens, para incluir o link desta postagem.
21/08/2023
- Adicionei uma integração com o Medium e a primeira postagem na plataforma foi realizada.
- Agendei postagens diárias no Medium, sendo realizadas as 19 horas. Nessas postagens será possível ver os 5 contéudos com mais tabcoins e comentários do dia anterior.
20/08/2023
- O servidor foi pro ar e a primeira postagem foi realizada no TabNews.
- Agendei postagens semanais, aos domingo, as 20 horas. Nessas postagens será possível ver os 10 contéudos com mais tabcoins e comentários da semana.
16/05/2024 🆕
- Foi alterado o modelo utilizado do ChatGPT, do
gpt-3.5-turbo
para ogpt-4-turbo
.