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

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é.
Notas de aplicação
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.
Sem avaliação, mudar um prompt é mudar sem teste. Cada alteração passa por casos registrados antes de ir para produção.
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.
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.
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.
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âmetro | Símb. | Valores |
|---|---|---|
| Back end | BE | Node.js · NestJS · Golang · Python · PHP/Laravel · C#/.NET |
| Front end | FE | React · Next.js · Vue.js · React Native · Tailwind · TypeScript |
| Dados | DB | PostgreSQL · MongoDB · Redis · MySQL · SQL Server · Elasticsearch |
| Infraestrutura | OPS | AWS · Terraform · Azure · GCP · Docker · CI/CD · Kafka |
| IA e agentes | AI | MCP · Tool calling · RAG · Evals · OpenAI · Claude · Gemini |
| Arquitetura | ARCH | Event-driven · Microservices · Modular monolith · Serverless · Observability |
| Extração de dados | ETL | Crawlers · Web scraping · Pandas · Pipelines |
| Idiomas | LNG | Portuguê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ódigo | Canal | Endereço |
|---|---|---|
| EML | jpmvale@gmail.com | |
| WPP | +55 98 99245-1236 | |
| LKD | /in/joao-pedro-vale | |
| GHB | GitHub | /jpmvale |
| Currículo | cv.pdf |