💸 Poké-Dolar-Instagram: Acompanhe a flutuação do dólar no Instagram com Pokémon e IA Generativa
Botando em prática meus estudos na AWS, Quarkus, GraalVM, IA generativa e arquitetura Serverless, desenvolvi essa automação que publica no Instagram algumas vezes ao dia a flutuação do dólar associada ao Pokémon correspondente sempre que a moeda flutuar. A ideia foi inspirada no bot que já existe para o Twitter/X.
Agora que o Google não mostra mais a cotação do dólar, você pode acompanhar de uma maneira divertida pelo Instagram: https://www.instagram.com/pokedolar.diario/
✅ A publicação inclui:
- A cotação do dólar informando o valor e se subiu ou caiu desde a última cotação.
- O Pokémon correspondente ao valor na Pokédex, por exemplo: Dólar a 5,81 é o #581 - Swanna.
- Uma legenda criada por IA generativa relacionando o Pokémon com a flutuação da moeda.
- Imagens de fundo personalizadas para cada Pokémon com IA generativa, com regras especiais para otimizar custos.
🛠️ Tecnologias utilizadas
Backend: Quarkus com Java 23 e GraalVM, permitindo execução otimizada na AWS Lambda
Infraestrutura: AWS Lambda, EventBridge, SNS, SSM, S3, DynamoDB
APIs: AwesomeAPI e Wise para cotação do dólar, PokeAPI para informações dos Pokémon e Instagram GraphAPI para publicação na rede social
IA Generativa: AWS Bedrock
- Llama 3.3 70B para geração automática de legendas
- AWS Titan v2 para geração de imagens de fundo (em regras especiais)
Imagem dinâmica: Lambda específica em Python para criação dinâmica da arte do post
🚀 Implantação
O projeto é totalmente serverless e orquestrado na AWS, garantindo automação e eficiência. O fluxo de maneira geral funciona assim:
1. EventBridge aciona a execução da Lambda principal (nativa com Quarkus e GraalVM)
2. Lambda principal obtém a cotação do dólar e determina o Pokémon correspondente, orquestrando todo o fluxo
3. Lambda em Python é invocada para gerar a imagem com as informações
- Caso a públicação seja especial, o modelo de imagem AWS Titan v2 gera uma imagem de fundo personalizada
- Caso contrário, um gradiente aleatório baseado nas cores do Pokémon é usado
4. S3 armazena a imagem gerada
5. AWS Bedrock cria a legenda do post com o modelo OpenSource da META Llama 3.3 70B
6. GraphAPI publica automaticamente no Instagram
7. DynamoDB armazena os posts publicados para contexto futuro das IAs
8. Uma outra Lambda em Python contém o mecanismo de refresh de token com a GraphAPI, garantindo a continuidade da autenticação na API do Instagram.
💡Tem ideias, sugestões ou melhorias? Comenta aqui por favor! Sempre dá pra aprimorar o projeto e principalmente expandir meus conhecimentos.
📢 Siga a página no Instagram e acompanhe a flutuação do dólar de uma maneira diferente:
👉 @pokedolar.diario