João Pedro
Vale
Engenheiro e arquiteto de software
- Designação
- JPMV-01
- Revisão
- 08
- Folha
- 1 de 6
- Local
- São Luís, MA — BR
- Últ. revisão
- Ago 2026
1Descrição geral
Construo software profissionalmente desde 2017. Comecei montando cenários de realidade virtual no Maranhão e hoje trabalho em sistemas distribuídos que rastreiam milhões de entregas de e-commerce por dia: arquitetura orientada a eventos, integrações com APIs privadas de transportadoras e a disciplina chata de manter tudo isso de pé quando o volume não pede licença.
Passei por software house, produto de dados públicos, mineradora e logística. 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 milhões de eventos por dia
- 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
- 05Sete posições em seis organizações desde 2017
- 06Português nativo, inglês fluente, 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
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.
APP-03
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.
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 · 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 (fluente) · Espanhol (intermediário) |
5Histórico de revisões
Sete posições desde 2017. Abra uma linha para ver o que ela envolveu.
Pelotas, RS
Responsável pelo rastreamento de milhões de entregas de e-commerce por dia. Arquitetura orientada a eventos para comunicação assíncrona e serviços robustos de integração com as APIs privadas das transportadoras, dentro de um sistema de alta disponibilidade.
Stack
NestJS · Golang · MongoDB · AWS · Laravel · 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 |