Ir para o conteúdo

João Pedro
Vale

Engenheiro e arquiteto de software

Designação
JPMV-01
Revisão
09
Folha
1 de 6
Local
São Luís, MA — BR
Últ. revisão
Nov 2026

1Descrição geral

Construo software profissionalmente desde 2017. Comecei montando cenários de realidade virtual no Maranhão e hoje trabalho numa plataforma SaaS multi-tenant de e-commerce: infraestrutura isolada provisionada automaticamente para cada loja, microsserviços em Go e TypeScript sobre AWS e a disciplina chata de manter tudo isso de pé, do ambiente de desenvolvimento até a produção.

Passei por software house, produto de dados públicos, mineradora, logística e e-commerce. Isso me deu repertório em diferentes camadas da stack — o back end é minha especialidade, o front end é terreno familiar, e a arquitetura vem antes de escrever qualquer um dos dois.

Características

  • 01Arquitetura orientada a eventos em escala de dezenas de milhões de eventos por mês
  • 02Agentes de IA em produção: MCP, tool calling e orquestração
  • 03Back end em Node.js/NestJS, Golang, Python, PHP e C#
  • 04Coleta e extração de dados de fontes públicas em larga escala
  • 05Nove posições em oito organizações desde 2017
  • 06Português nativo, inglês avançado, espanhol intermediário
João Pedro Vale
Fig. 1 — EncapsulamentoSão Luís, MA. Trabalho remoto desde 2021.

2Diagrama funcional — engenharia de agentes

Uma parte crescente do meu trabalho é engenharia de agentes: sistemas em que o modelo decide o próximo passo e a engenharia garante que ele possa errar sem derrubar nada. Construo e opero agentes em produção no trabalho, e também em projetos próprios e de clientes.

O diagrama abaixo é como eu monto. O modelo é um componente, não o sistema. O que sustenta um agente é a camada de ferramentas, o loop de avaliação e a observabilidade — a mesma disciplina que se usa para manter uma integração crítica de pé.

INTENÇÃOORQUESTRADORMODELOFERRAMENTAS · MCP1SISTEMASRESULTADOGUARDRAILS4AVALIAÇÃO2OBSERVABILIDADE3
Fig. 2 — Topologia típica de um agente em produção

Notas de aplicação

  1. A camada de ferramentas é o contrato. Cada ferramenta tem escopo fechado, validação de entrada e um modo de falha previsível — o agente não decide o que pode fazer, a ferramenta decide.

  2. Sem avaliação, mudar um prompt é mudar sem teste. Cada alteração passa por casos registrados antes de ir para produção.

  3. Observabilidade por execução: traço de cada chamada, custo por passo e o motivo de cada decisão. Sem isso, depurar um agente é adivinhação.

  4. Guardrails definem o que é irreversível. Ação destrutiva pede confirmação humana; o resto o agente resolve sozinho.

3Aplicações típicas

Produtos que projetei, construí e opero sozinho, do domínio ao deploy. Não são exercícios: rodam, têm usuário e continuam recebendo commit.

  • APP-01

    coda

    Em operação

    Rede social de avaliação de mídias — um Letterboxd da música. Notas de 0,0 a 10,0, resenhas e o histórico de como a sua opinião sobre uma obra muda com o tempo, num feed do que quem você segue está avaliando.

    API e worker em NestJS compartilhando os mesmos módulos de domínio, front em Next.js. O catálogo é canônico e cresce guiado por interesse real: importa discografias da MusicBrainz sob demanda e enriquece com capas e biografias. Métricas e logs em Grafana Alloy.

    Stack

    TypeScript · NestJS · Next.js · Worker · Docker · Grafana Alloy · MusicBrainz

    Código
    Fechado
  • APP-02

    veiculos

    Em operação

    Dados de carros do mercado de massa brasileiro num lugar só: preço FIPE e sua variação, consumo do PBEV/Inmetro e ficha técnica, cruzados em métricas como autonomia por tanque, custo por km e quais modelos seguram valor gastando pouco.

    Um worker em BullMQ coleta a FIPE todo dia e o PBEV toda semana, com 36 meses de histórico. O leitor do PDF do Inmetro e o casamento do mesmo carro entre as três fontes vivem num pacote de domínio compartilhado pela API e pelo worker.

    Stack

    TypeScript · NestJS · Next.js · BullMQ · Redis · PostgreSQL · Drizzle

    Código
    Fechado
  • APP-03

    imoveis

    Em operação

    Centralizador de imóveis à venda em São Luís: cadastro, tabela com busca e ordenação, e um mapa com cada imóvel plotado pela sua coordenada.

    API em NestJS e front em Next.js sobre Postgres com Drizzle, no mesmo formato de monorepo dos projetos irmãos. O cadastro é manual hoje e o modelo de dados já foi desenhado para receber um crawler depois.

    Stack

    TypeScript · NestJS · Next.js · PostgreSQL · Drizzle · Tailwind

    Código
    Fechado
  • APP-04

    expense-analyzer

    Em operação

    Dashboard de gastos de cartão de crédito: as faturas em CSV viram um banco de compras, a API agrega por mês e por categoria, e o front mostra em tabelas e gráficos como o gasto evolui.

    O parser não é acoplado a nenhum emissor — lê qualquer CSV com data, descrição e valor. Extractor, API e front são aplicações separadas no mesmo monorepo, com a infraestrutura versionada junto.

    Stack

    TypeScript · NestJS · MongoDB · React · Docker

  • APP-05

    kindred

    Em operação

    Cadastro de pessoas e dos vínculos entre elas. A partir de uma pessoa central, calcula sozinho o grau de parentesco de todo mundo — avó, tio, primo em 2º grau —, desenha a árvore genealógica navegável e reúne os aniversários num calendário.

    O cálculo de parentesco é o coração do domínio e roda sobre um grafo de vínculos em PostgreSQL. Monorepo com o schema e o contrato da API isolados em pacotes compartilhados entre a API e o front.

    Stack

    TypeScript · NestJS · Prisma · PostgreSQL · React · Vite

4Características técnicas

Ferramentas que uso em produção, agrupadas por função. A lista é o que eu abriria hoje sem consultar documentação.

ParâmetroSímb.Valores
Back endBENode.js · NestJS · Golang · Python · PHP/Laravel · C#/.NET
Front endFEReact · Next.js · Vue.js · React Native · Tailwind · TypeScript
DadosDBPostgreSQL · MongoDB · Redis · MySQL · SQL Server · Elasticsearch
InfraestruturaOPSAWS · Terraform · Azure · GCP · Docker · CI/CD · Kafka
IA e agentesAIMCP · Tool calling · RAG · Evals · OpenAI · Claude · Gemini
ArquiteturaARCHEvent-driven · Microservices · Modular monolith · Serverless · Observability
Extração de dadosETLCrawlers · Web scraping · Pandas · Pipelines
IdiomasLNGPortuguês (nativo) · Inglês (avançado) · Espanhol (intermediário)

5Histórico de revisões

Nove posições desde 2017. Abra uma linha para ver o que ela envolveu.

  • Montevidéu, UY — remoto

    Trafiflow, a plataforma SaaS multi-tenant de e-commerce da Trafilea. Provisionamento automatizado de lojas, do cadastro à loja publicada com infraestrutura isolada via Terraform, e os microsserviços do core: onboarding, carrinho, precificação e autenticação.

    Stack

    Golang · TypeScript · gRPC · AWS · Terraform · Terragrunt · PostgreSQL · Datadog · Event-driven

6Informações de contato

Disponível para posições remotas e para projetos. Respondo e-mail em até 24 horas.

CódigoCanalEndereço
EMLE-mailjpmvale@gmail.com
WPPWhatsApp+55 98 99245-1236
LKDLinkedIn/in/joao-pedro-vale
GHBGitHub/jpmvale
PDFCurrículocv.pdf