Backend & Automation Engineer Software ArchitectureApplied AISecurity

Construo sistemas que automatizam o complexo.

Sou Bruno Moura, desenvolvedor focado em engenharia backend, automação e IA aplicada. Construo APIs, automações e integrações pensando em confiabilidade, segurança e escalabilidade desde a primeira versão.

Fig. 1 Anatomia de um job

01 API Entrada

Recebe a requisição, valida o contrato e identifica quem está chamando. Em vez de segurar a conexão até o trabalho terminar, responde 202 Accepted com um identificador para acompanhamento.

  • Validação de entrada
  • Autenticação e autorização
  • Chaves de idempotência
  • Python
  • FastAPI
  • REST

02 Orquestração Coordenação

Transforma o pedido em tarefas, coloca em fila e distribui entre workers. Controla concorrência, limites de taxa e novas tentativas, e acompanha o job do início ao fim.

  • Filas e workers
  • Rate limiting
  • Retries com backoff
  • Redis
  • Filas
  • Workers

03 Automação Execução

Executa o trabalho pesado: navega em sistemas, coleta dados e integra serviços externos. Falhas transitórias são esperadas, por isso cada etapa pode ser repetida com segurança depois de um intervalo crescente.

  • Web scraping
  • Integrações externas
  • Execução idempotente
  • Python
  • RPA
  • HTTP

04 IA Interpretação

Entra quando o dado precisa ser interpretado: classificar, extrair ou resumir. Roda em paralelo à automação, à medida que os dados chegam, e com modelos locais quando os dados não podem sair da máquina.

  • LLMs
  • Embeddings
  • Busca vetorial
  • Ollama
  • FAISS
  • RAG

05 Processamento Entrega

Normaliza, valida e persiste o resultado, e avisa quem precisa saber. Cada etapa emite logs e métricas: é isso que permite desenhar um trace como este.

  • Normalização e validação
  • Persistência
  • Logs, métricas e traces
Modelo conceitual, não um sistema em execução. A API aceita o pedido e responde na hora; o restante acontece de forma assíncrona, com novas tentativas quando algo falha.

Projetos em destaque

Projetos pessoais e independentes, com código público no GitHub. O status de cada um indica se é um protótipo ou um estudo.

Grafo de comunicação ilustrativo com três comunidades, um nó central destacado e uma mensagem isolada marcada como anomalia. nó central comunidade anomalia
Fig. 2 Ilustração do tipo de análise feita pelo projeto, com comunidades, o nó mais central e uma mensagem isolada. Não são dados reais.

Protótipo 2025

Signal Sense

Análise de comunicações com modelos de IA executados localmente.

Problema
Analisar mensagens, e-mails e logs de rede com IA geralmente significa enviar dados sensíveis a serviços externos.
Como funciona
Um pipeline em Python normaliza comunicações em CSV e JSON, mapeia quem fala com quem em um grafo, indexa o conteúdo em embeddings para busca semântica e gera análises com um LLM. Os modelos rodam localmente, via Ollama.
  • Python
  • FastAPI
  • Ollama
  • Qwen2.5 7B
  • nomic-embed-text
  • FAISS
  • NetworkX
  • scikit-learn
  • Streamlit
  • Docker Compose

data/output.json

  1. "titulo": "ELE SÓ IA VISITAR O PAI NA FAZENDA, MAS ACABOU SENDO ABDUZIDO POR ALIENÍGENAS!",

    1 Coleta yt-dlp

  2. "tema": "Ficção Científica ou Fantasia",

    2 Classificação Mistral via Ollama

  3. "temas_semelhantes": ["Televisão (TV) ou Cinema","Aventura marinha ou Animais Marinhos"]

    3 Similaridade MiniLM + FAISS

Fig. 3 Registro de saída publicado no README do projeto, anotado com a etapa do pipeline que gera cada campo.

Estudo 2025

Rabbit Hole Crawler

Classifica por tema os títulos dos vídeos de um canal do YouTube.

Problema
Entender os temas de um canal exige assistir aos vídeos ou ler os títulos um a um.
Como funciona
Coleta os títulos com yt-dlp (10 por padrão), classifica o tema de cada um com um LLM local (Mistral via Ollama) e aponta temas semelhantes com embeddings e FAISS. O resultado é gravado em JSON.
  • Python
  • yt-dlp
  • Ollama
  • Mistral
  • sentence-transformers
  • FAISS

Outros experimentos estão no GitHub.

Abordagem de engenharia

Cinco princípios que orientam minhas decisões técnicas, principalmente sobre o que acontece quando algo dá errado.

Reliability confiabilidade

Rede instável, timeout e serviço fora do ar fazem parte do ambiente, não são exceções. Por isso, cada etapa deve falhar de forma previsível e, sempre que possível, se recuperar sozinha.

  • Timeouts explícitos
  • Retries com backoff
  • Idempotência
  • Circuit breakers
t 2t
Scalability escalabilidade

Crescer deveria significar adicionar workers, não reescrever o sistema. Isso começa por dividir o trabalho em tarefas independentes, que possam rodar em paralelo.

  • Filas
  • Workers sem estado
  • Escala horizontal
  • Controle de concorrência
Security by Design segurança desde o projeto

Segurança entra no desenho, não no fim: validar entradas na fronteira, manter credenciais fora do código e dar a cada componente só o acesso de que ele precisa.

  • Validação na fronteira
  • Segredos fora do código
  • Menor privilégio
  • Autenticação e autorização
fora dentro
Observability observabilidade

Sem visibilidade, não há como operar um sistema. Logs estruturados, métricas e traces ajudam a entender o que ele está fazendo e onde falhou.

  • Logs estruturados
  • Métricas
  • Tracing
  • Alertas acionáveis
Automation automação

Trabalho repetitivo é candidato a código. Uma automação só se paga quando verifica cada etapa, para que o resultado seja confiável sem supervisão constante.

  • RPA
  • Orquestração de tarefas
  • Web scraping
  • Integrações entre sistemas
agendar executar verificar

Competências

Quatro disciplinas, em ordem de profundidade. Em cada uma, o que já aplico está separado do que ainda estou aprofundando.

Software Architecture

Interesse forte, em aprofundamento contínuo

Sistemas que continuam respondendo sob carga e se recuperam de falhas: trabalho assíncrono, filas, limites de taxa e isolamento entre componentes.

Aplicado

  • Docker e Docker Compose

Aprofundando

  • Concorrência e programação assíncrona
  • Redis
  • Filas e workers
  • Rate limiting
  • Circuit breakers
  • Escalabilidade horizontal
  • Observabilidade
  • Tolerância a falhas

Applied AI

Parte relevante da formação técnica, aplicada em projetos pessoais

Aplicações que interpretam texto: classificação, busca semântica e análise com LLMs, inclusive com modelos locais quando os dados não podem sair da máquina.

Aplicado

  • LLMs locais com Ollama
  • Embeddings
  • Busca vetorial com FAISS
  • Integração de IA em APIs

Aprofundando

  • RAG
  • Bancos de dados vetoriais
  • Fine-tuning
  • LoRA

Evidência pública

Application Security

Parte relevante da formação técnica

APIs e automações que protegem credenciais e dados, validam o que recebem e expõem apenas o necessário.

Aplicado

  • Segredos fora do código
  • Modelos de IA locais para dados sensíveis

Aprofundando

  • Segurança de APIs
  • Autenticação e autorização
  • Identificação de vulnerabilidades
  • Fundamentos de segurança ofensiva e defensiva
  • Mitigação de riscos

Sobre

Base
São Paulo, Brasil
Formação
Ciência da Computação, em andamento
Foco
Backend & Automation Engineering
Aprofundando
Arquitetura, sistemas distribuídos, concorrência e escalabilidade

Desenvolvo software em São Paulo e curso Ciência da Computação. Profissionalmente, trabalho com automação de processos e integração entre sistemas, em boa parte em projetos corporativos internos que, por confidencialidade, ficam fora desta página.

Os projetos aqui são pessoais e públicos, e funcionam como laboratório: IA executada localmente, busca semântica e processamento de dados. Em paralelo, aprofundo arquitetura, sistemas distribuídos, concorrência e escalabilidade.

O que mais me interessa é a parte difícil de mostrar em uma demo: o que acontece quando a rede falha, quando o volume dobra ou quando alguém usa o sistema de um jeito que ninguém previu.

Contato

Para oportunidades, projetos ou uma conversa técnica sobre automação, APIs e IA aplicada.