pj

Desenvolvi um App de Produtividade com IA na AWS em 4 Horas

Todos os dias criamos listas de tarefas, esperando nos tornar mais produtivos. O problema é que uma lista, por si só, não nos diz o que realmente merece nossa atenção primeiro. Algumas tarefas exigem ação imediata, outras devem ser planejadas para mais tarde e algumas apenas consomem tempo sem agregar valor.

Foi essa ideia que me inspirou a desenvolver o Priority Compass AI, um App de produtividade com IA na AWS baseado na Matriz de Eisenhower. Em vez de apenas organizar tarefas, a aplicação ajuda o usuário a decidir o que deve ser feito agora, o que pode ser agendado, o que pode ser delegado e o que talvez deva ser reconsiderado.

E neste artigo, vou explicar como desenvolvi esse app de produtividade com IA na AWS em 4 horas.

Índice

O que é o Priority Compass AI?

O Priority Compass AI partiu do princípio de transformar uma simples lista de tarefas em um plano de execução.

O usuário apenas precisa informar até oito tarefas, selecionar quanto tempo ele tem disponível no dia e, opcionalmente, definir um objetivo principal. A aplicação enviará essas informações para o Amazon Bedrock, onde o modelo Amazon Nova Lite analisará cada tarefa individualmente e responderá em segundos com uma sugestão de prioridade e ordem das tarefas.

Priority Compass AI App Website
Priority Compass AI App Website

Para isso, a inteligência artificial analisa cada tarefa informada e:

  • atribui uma pontuação de urgência e importância;
  • classifica a tarefa em um dos quatro quadrantes da Matriz de Eisenhower;
  • explica por que ela pertence àquele quadrante;
  • estima o tempo necessário para executá-la.

Depois de validar a resposta da IA, a aplicação também gera uma ordem recomendada de execução, para ajudar o usuário a concentrar seus esforços nas atividades que podem gerar maior impacto para sua finalização.

Resultado com a Matriz de Eisenhower
Resultado com a Matriz de Eisenhower

Como desenvolvi um app de produtividade

Meu principal objetivo era criar uma arquitetura simples, de baixo custo e seguro.

Para isso, o frontend consiste em um site estático hospedado no AWS Amplify Hosting. Cada solicitação é enviada para uma Amazon API Gateway HTTP API, que aciona uma função AWS Lambda.

Para manter o projeto com o menor custo possível, decidi não utilizar bancos de dados nem armazenamento persistente. Toda a aplicação é serverless e stateless.

Antes de retornar o resultado ao usuário, a função Lambda executa várias etapas:

  • valida a solicitação recebida;
  • limita a quantidade de tarefas enviadas;
  • invoca o Amazon Bedrock;
  • valida a resposta da IA;
  • calcula a ordem final de execução.

Inicialmente, eu permiti que o próprio modelo gerasse a ordem recomendada das tarefas. Durante os testes, percebi que os modelos fundacionais ocasionalmente retornavam uma sequência inconsistente, mesmo quando a classificação das tarefas estava correta.

Em vez de confiar totalmente na IA, transferi essa responsabilidade para a função Lambda. Isso foi necessário, porque queria que a inteligência artificial ficasse responsável por compreender e classificar as tarefas, enquanto a lógica do app determinasse a ordem final de execução. Essa mudança melhorou os resultados e a confiabilidade das respostas da aplicação.

Outro aprimoramento importante foi na engenharia de prompts. Nos primeiros testes, o modelo tendia a classificar praticamente todas as tarefas como importantes. Para corrigir esse comportamento, refinei o prompt na função Lambda, reforçando os princípios da Matriz de Eisenhower e orientando o modelo a avaliar cada tarefa individualmente, em vez de assumir que todas possuíam a mesma prioridade.

A combinação entre um prompt bem elaborado e a validação realizada no backend produziu resultados ainda mais consistentes.

Arquitetura da solução

Para manter a solução leve, simples e rápida, utilizei apenas alguns serviços gerenciados da AWS.

  • AWS Amplify Hosting para hospedar o frontend estático.
  • Amazon API Gateway (HTTP API) para expor o endpoint do backend.
  • AWS Lambda para validar as solicitações, invocar o modelo de IA e aplicar as regras do negócio (app).
  • Amazon Bedrock (Amazon Nova Lite) para analisar e classificar as tarefas.
  • Amazon CloudWatch para armazenar os logs de execução para monitoramento e solução de problemas.
  • AWS Identity and Access Management (IAM) para aplicar o princípio do menor privilégio nas permissões dos serviços.

A arquitetura completa da solução é apresentada na imagem abaixo:

Arquitetura do Priority Compass AI
Arquitetura do Priority Compass AI

Decisões de custo e segurança

Como este projeto foi desenvolvido durante um desafio de final de semana, meu objetivo era manter os custos operacionais o mais baixos possível, sem abrir mão de boas práticas de engenharia.

Então, algumas das decisões que tomei, foram:

  • Utilizar uma HTTP API em vez de uma REST API;
  • Limitar a taxa de requisições utilizando throttling no Amazon API Gateway;
  • Restringir o CORS apenas ao domínio hospedado no AWS Amplify;
  • Limitar cada solicitação a, no máximo, oito tarefas;
  • Configurar o Amazon Nova Lite com parâmetros conservadores de geração, com baixa temperatura;
  • Validar todas as respostas da IA antes de apresentá-las ao usuário;
  • Evitar o uso de bancos de dados e armazenamento persistente.

Também optei por não habilitar o AWS Amplify Firewall. Como a aplicação já possuía diversas camadas de proteção implementadas no Amazon API Gateway e na AWS Lambda, utilizar esse recurso aumentaria os custos sem trazer um benefício proporcional para esse cenário específico.

Configurações de CORS no API Gateway
Configurações de CORS no API Gateway

O que aprendi com esse projeto

Este desafio reforçou que desenvolver uma aplicação com inteligência artificial envolve muito mais do que simplesmente chamar um modelo fundacional.

A engenharia de prompts é importante, mas a validação no backend é também essencial. Mesmo utilizando um modelo avançado como o Amazon Nova Lite, a aplicação precisava verificar as respostas antes de apresentá-las ao usuário.

Também gostei muito de utilizar uma arquitetura serverless neste projeto. Porque a combinação do AWS Amplify, com o Amazon API Gateway, e do AWS Lambda, além do Amazon Bedrock, facilitou a elaboração de uma solução completa baseada em IA, configurando o mínimo necessário na infraestrutura e um custo extremamente baixo no final do projeto.

Outro aprendizado foi perceber que, ao optar pela simplicidade serverless, este resultou em uma solução muito superior, quando comparado à configuração e gestão de serviços stateful na AWS. Ao manter a arquitetura enxuta e ao evitar usar serviços desnecessários, terminei o projeto com uma aplicação fácil de compreender, de manter e evoluir. Pessoalmente, amei ter usado o serverless neste projeto.

Fazer o deploy do site com o AWS Amplify foi moleza
Fazer o deploy do site com o AWS Amplify foi moleza

Além disso, ao publicar o site utilizando o AWS Amplify — que foi a minha primeira vez utilizando esse serviço em produção — foi surpreendentemente simples a sua configuração. Porém, preciso trazer um nota de atenção, a respeito dos custos do firewall deste serviço, que desativei neste projeto e que se tivesse deixado ligado, no final do mês seria tarifado em:

  • AWS WAF: com estimativa de US$ 8 por mês, com cobrança proporcional por hora.
  • Solicitações processadas pelo WAF: US$ 1,40 por milhão de solicitações por mês.
  • Amplify Firewall: cobrança adicional de US$ 15 por mês, também proporcional por hora.

Portanto, o custo fixo estimado seria:

US$ 8 + US$ 15 = aproximadamente US$ 23 por mês.

Repositório no GitHub e conclusão

Todo o código-fonte do projeto, Priority Compass AI, está disponível no GitHub no meu repositório abaixo:

https://github.com/edu-lara/priority-compass-ai

Desenvolver este projeto foi uma excelente oportunidade para combinar inteligência artificial, computação serverless e conceitos de produtividade em uma aplicação prática.

Embora a infraestrutura tenha sido desligada após o término do desafio para evitar custos desnecessários, meu custo total foi de US$ 0,06 centavos de dólares americanos.

Espero que este projeto desperte o desenvolvedor que existe em você e o incentive a experimentar o AWS Amplify e o Amazon Bedrock para criar e compartilhar suas próprias soluções de inteligência artificial na AWS.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Artigos Relacionados

Continue aprendendo com nosso conteúdo especializado

7 Serviços AWS Que Ainda Podem Gerar Custos

Durante todos esses anos de ensino, uma das ideias equivocadas mais comuns de quem está iniciando na

Sandbox AWS Builder Center: Minhas Primeiras Impressões

A AWS lançou recentemente um ambiente de sandbox para workshops selecionados no AWS Builder Center. Esse novo

Como Praticar AWS sem Cartão de Crédito

Agora é possível praticar AWS sem criar uma conta própria com cartão de crédito e fazer alguns