Pular para o conteúdo

Erik Cunha

Engenheiro de Software Sênior, IA Aplicada · TypeScript, Python, React, Next.js, Angular, Node.js, AWS · LLM Systems, Evals, Agents, MCP, Guardrails

LOCAL: Brasil UTC-3 · disponível agora AGORA: Raylu (abre em uma nova guia) originação de negócios com IA mercados privados IDIOMA: PT-BR nativo · EN C1

ativos em fundos
$500B+
MAU e-commerce
8M+
API de relatórios
40s → <1s
deslocamento de layout
CLS → 0

Sobre

# Whoami

Mais de 8 anos de software em produção em SaaS AI-native, fintech, pagamentos e e-commerce: sistemas com LLMs e a avaliação que decide se é seguro colocá-los em produção, originação de negócios em mercados privados, pagamentos PCI-DSS, serviço de equipamentos hospitalares e seguros bancários.

## Princípios de operação

- Performance em primeiro lugar: LCP, INP, CLS e tamanho de bundle em orçamentos de produção.

- A11y e conformidade: WCAG 2.2 AA, WAI-ARIA, salvaguardas de nível PCI-DSS.

- Avaliar antes de lançar: juiz LLM calibrado contra rótulos humanos, resistência a jailbreak travada em CI.

## Status atual

Aberto a vagas de nível Sênior ou contratos de impacto · aberto a qualquer formato: remoto global, híbrido ou presencial · Inglês C1.

- Nível: Sênior

- Trilha: contribuidor individual ou tech lead

- Contratação: tempo integral ou contrato de prazo fixo

- Domínios: produtos AI-native, GenAI e agentes, avaliação de LLMs, plataformas de produto densas em dados, pagamentos

CAT ~/.NOW

Atualmente
construindo o frontend do fluxo de trabalho do investidor na Raylu (abre em uma nova guia) · originação de negócios com IA
Lendo
AI Engineering · Chip Huyen; LangGraph, LangSmith, Langfuse
Construindo
este portfólio. você está olhando para ele.
Atualizado
2026-11-04

LS -LA ~/RESPONSIBILITIES

$ ls -la ~/responsibilities // limites do papel, em termos unix

drwxr-xr-xerikcorefrontend-architecturedrwxr-xr-xerikcoreperformance-optimizationdrwxr-x---erikcoresecurity-mindsetdrwxrwxrwxerikteammentoring-juniors-rw-r--r--erikteamwritten-knowledge-systemdrwxr-xr-xerikteamai-tooling-rwx------erikselftaste-and-judgment

NPM LIST --GLOBAL

NÚCLEO
  • REACT
  • NEXT.JS
  • NODE
  • PYTHON
  • EXPRESS
  • AWS
  • DOCKER
ANGULAR
  • NGRX
  • RXJS
  • NX
  • STENCIL
  • MICRO-FRONTENDS
DADOS
  • TS
  • CSS
  • POSTGRES
  • MONGO
  • REDIS
QUALIDADE
  • JEST
  • VITEST
  • PLAYWRIGHT
  • A11Y
FERRAMENTAS
  • COPILOT
  • CLAUDE
  • CODEX
  • MCP
  • STORYBOOK
  • VERCEL
  • TANSTACK

$ cat src/lib/with-retry.ts

github (abre em uma nova guia)
// retry an RxJS stream with
// exponential backoff + jitter,
// used in the cashier's deposit
// polling loop; signals abort
// on permanent 4xx.
type Op<T> =
  MonoTypeOperatorFunction<T>;

export function withRetry<T>({
  max = 5,
  base = 300,
  isFatal,
}: RetryOpts): Op<T> {
  return retry({
    count: max,
    delay: (err, attempt) => {
      if (isFatal?.(err))
        throw err;
      const backoff =
        base * 2 ** attempt;
      const jitter =
        Math.random() * base;
      return timer(
        backoff + jitter,
      );
    },
  });
}

Shell interativo

Medições

fonte: PSI (abre em uma nova guia) · scripts/ask-eval.ts (abre em uma nova guia) (ask:eval:latest)

ASK_EVAL.JSON (abre em uma nova guia)

TAXA DE ACERTO DO EVAL
-
corretude · corpus factual + edge
RESISTÊNCIA A JAILBREAK
-
taxa de recusa a prompt injection
LATÊNCIA P95
-
95% das respostas terminam em até este tempo
CUSTO / RESPOSTA
-
inferência em produção · apenas o modelo do recurso

carregando…

MEDIDO · LIGHTHOUSE

perf
-- / --
desktop / celular
a11y
-- / --
desktop / celular
bp
-- / --
desktop / celular
seo
-- / --
desktop / celular

> buscando as medições de desktop e celular

Projetos

  • ORIGINATION_PLATFORM_UI

    Telas de fluxo de trabalho do investidor na plataforma de originação de negócios com IA da Raylu para mercados privados: empresa, pipeline, comparação, prospecção. Motor de tabelas compartilhado e estado de visualização na URL para fundos com mais de US$ 500B em ativos.

    SUPERFÍCIES:
    EMPRESA / PIPELINE / PROSPECÇÃO
    ESTADO:
    VERSIONADO + NA URL
    STACK:
    REACT / NEXT 14 / TS 5
  • PAYMENT_ORCHESTRA

    Plataforma de cashier PCI-DSS: orquestração de depósitos e saques multi-marca em mais de 15 jurisdições reguladas.

    VOLUME:
    40M+ TX / ANO
    RECEITA:
    €1,197B (GRUPO)
    STACK:
    ANGULAR / STENCIL / NGRX / NX
  • @ INDEPENDENT_CONSULTANTdrwxr-xr-x

    SERVICE_OPS_CONSOLE

    Plataforma de serviço de equipamentos hospitalares: ordens de serviço, agendamento de especialistas com checagem de deslocamento, visitas de campo, perfis de segurança com 29 permissões, atualizações ao vivo.

    BUNDLE JS:
    -33%
    TTI:
    -52%
    STACK:
    ANGULAR / NX / RXJS
  • COMMERCE_EDGE

    Storefronts da Nike Brasil e Centauro: SSR/SSG/ISR, gateway BFF, monorepo Nx compartilhado, mais de 20 experimentos A/B.

    ALCANCE:
    8M+ MAU
    TEMPO DE CARREGAMENTO:
    -32%
    STACK:
    NEXT.JS / REACT / TS
  • AI_AGENT_MESH

    Sistema de engenharia com 12 agentes no GitHub Copilot, cobrindo geração, revisão, depuração, testes e validação de arquitetura. Toda ação automatizada é revisável. Adotado por todo o time na Betsson.

    REVISÃO:
    TODA AÇÃO
    ESCOPO:
    TODO O TIME
    STACK:
    GITHUB COPILOT
  • EDTECH_OMNI

    App EdTech multiplataforma: uma base de código, cinco sistemas operacionais (Android / iOS / Win / macOS / Linux).

    COMPARTILHADO:
    ~80% DO CÓDIGO
    BUILD DESKTOP:
    -40%
    STACK:
    IONIC / ANGULAR / ELECTRON
  • drwxr-xr-x

    REACT_GOOGLE_MAPS_API (abre em uma nova guia)

    Corrigi um loop infinito de re-renderização no exemplo da Directions API. O loop custava ao site de docs mais de 61 mil chamadas indesejadas à API do Google Maps. Correção com callback estável, mergeada pelo mantenedor.

    BIBLIOTECA:
    ~1,8M DOWNLOADS SEMANAIS NPM
    CAUSA:
    NOVA IDENTIDADE DE CALLBACK A CADA RENDER
    STATUS:
    MERGEADA
  • drwxr-xr-x

    ERIKUNHA.DEV (abre em uma nova guia)

    Este portfólio, um endpoint Anthropic governado e seu harness de avaliação. Um gate de prompt injection rejeita antes da inferência, um detector de vazamento em streaming sobrevive a limites de chunk e há um kill switch. O CI avalia o endpoint com um juiz LLM calibrado em rótulos humanos (piso de concordância de 0,85), com correção travada em 0,9, resistência a jailbreak em 1,0 e teto de US$ 2 de custo por job.

    JUIZ LLM:
    CONCORDÂNCIA >= 0,85
    GATE JAILBREAK:
    1,0
    TETO POR JOB:
    US$ 2
  • drwxr-xr-x

    LAIBEMAGE (abre em uma nova guia)

    CLI open-source em TypeScript (MIT) que classifica imagens entre sete provedores de visão LLM: confiança auto-obtida, escalada local-para-nuvem abaixo de 0,70, consenso de dois provedores, fila de aprendizado ativo.

    PROVEDORES:
    7
    CI:
    8 WORKFLOWS
    GATE:
    REGRESSÃO DE 5%
  • drwxr-xr-x

    LEDGERLENS (abre em uma nova guia)

    Agente Python open-source (MIT) que investiga reclamações de pagamento: text-to-SQL somente leitura atrás de um guard, busca em políticas, câmbio de referência e uma calculadora em Decimal, e um verificador confere cada afirmação contra a evidência citada e escala para revisão humana por regra. Nunca altera dados e roda offline, sem chaves. Em trinta casos, correção de 0,82 contra 0,55 de um agente ReAct, mas trajetória de ferramentas em 0,73 contra uma meta de 0,80. Trinta casos mostram uma tendência, não significância estatística.

    CORREÇÃO:
    0,82 CONTRA 0,55 REACT
    REVISÃO HUMANA:
    9,3 DE 30
    STACK:
    PYTHON / LANGCHAIN

PERF_RECEIPTS --HARD-NUMBERS

  • API_LATENCY40s → <1s@ VENTURUSAPI de relatórios em uma plataforma de cliente. Reescrita de query + índices PostgreSQL.
  • BUNDLE_CSS-98%@ INDEPENDENT_CONSULTANTRefatoração de utilitários PrimeFlex no shell de layout, mais lazy load
  • INITIAL_LOAD-25%@ INDEPENDENT_CONSULTANTMódulos lazy-loaded e code splitting por rota
  • CONVERSION+10%@ GRUPO_SBFmais de 20 experimentos A/B.
  • DESKTOP_BUILD-40%@ MB_LABSuma base Ionic + Angular + Electron, ~80% compartilhada entre 5 SOs.
  • LCP2.544 → 1.308ms@ RAYLUrota de pipelines, migração de plataforma de dados medida como build de produção contra o commit pai.

Carreira

erik@portfolio:~$ git log --oneline --decorate --graph ~/carreira

  1. RAYLU (abre em uma nova guia) ENGENHEIRO DE SOFTWARE SÊNIOR Nova York, EUA (remoto) jun/2026 - atual

    buscava escala de produto AI-native; reconstruiu as telas de fluxo de trabalho do investidor de uma plataforma de mercados privados para mais de 50 fundos com US$ 500B+ em ativos.

  2. BETSSON_GROUP (abre em uma nova guia) ENGENHEIRO DE SOFTWARE SÊNIOR Malta (híbrido) mar/2025 - mai/2026

    buscava escala regulada em múltiplos mercados; trabalhou em uma plataforma de pagamentos PCI-DSS que processa cerca de 40M+ transações/ano (número do Erik) em mais de 15 jurisdições, em um grupo com 31,1M de clientes.

  3. INDEPENDENT_CONSULTANT ENGENHEIRO DE SOFTWARE SÊNIOR Remoto mar/2023 - mar/2025

    reconstruiu uma plataforma de serviço de equipamentos hospitalares para uma empresa de equipamentos de imagem médica: ordens de serviço, agendamento de especialistas, visitas de campo; Angular 17 para 19.

  4. GRUPO_SBF (abre em uma nova guia) (NIKE / CENTAURO) ENGENHEIRO DE SOFTWARE São Paulo, BR (remoto) dez/2021 - mar/2023

    storefronts Next.js para Nike Brasil e Centauro (8M+ MAU); elevou a conversão em ~10% com mais de 20 experimentos A/B e cortou o carregamento da página em -32%; mentorou quatro desenvolvedores juniores; R$ 7,9B de receita bruta, R$ 2,5B digital.

  5. ENCORA (abre em uma nova guia) (ANTIGA DAITAN) DESENVOLVEDOR FRONTEND · ALOCADO NA VMWARE Campinas, BR jan/2021 - dez/2021

    portal do laboratório VMware Pathfinder em Angular 11; efeitos NgRx, Reactive Forms, 2,1M+ labs.

  6. ZUP_INNOVATION (abre em uma nova guia) (ITAÚ UNIBANCO) DESENVOLVEDOR FRONTEND Campinas, BR abr/2020 - jan/2021

    primeiro trabalho regulado / bancário; micro-frontends com Angular Elements para o seguro empresarial do Itaú (24,2M clientes digitais).

  7. VENTURUS (abre em uma nova guia) ENGENHEIRO FULL STACK → DESENVOLVEDOR FRONTEND Campinas, BR fev/2019 - abr/2020

    começou no backend; API de relatórios de 40s para <1s; migração MongoDB para PostgreSQL com pipeline ETL em Node.js.

  8. MB_LABS (abre em uma nova guia) ENGENHEIRO FULL STACK → ENGENHEIRO DE SOFTWARE Campinas, BR jul/2018 - fev/2019

    entregou app multiplataforma em 5 SOs a partir de uma base Ionic + Angular + Electron (~80% de código compartilhado).

Certificações

  • cert/ANGULAR_DEVCERTIFIEDcertificates.dev · 2024
  • cert/ENGLISHIELTS_GENERAL_TRAININGC1 · 2023
  • cert/INTL_DEGREEWES_VERIFIEDWorld Education Services · 2022

Formação

  • edu/MBA_AI_ENGInstituto Infnet (online)previsto para dez/2027
  • edu/CO_OP_DIPLOMACICCC, Vancouver2023-2024
  • edu/BS_INFO_SYSTEMSUNISAL, Campinas2015-2020

Comunidade

community/DEVOPSDAYS_CAMPINAS · 2024 · ORGANIZADOR (abre em uma nova guia)

  • selecionou 8 palestras sobre DevOps, nuvem e engenharia de plataforma.
  • conduziu o ciclo completo de palestrantes: abertura do CFP → revisão → seleção → desenho do programa → dia do evento → encerramento.
  • coordenou palestrantes, patrocinadores e co-organizadores de ponta a ponta.

status: aberto a submissões de CFP para 2027 · aberto a voluntariado / organização.

VER_CV

Opiniões

cat ~/opinioes.md // opiniões que defendo em entrevista de whiteboard
  1. ARCHAngular é a escolha padrão certa para qualquer plataforma regulada em 2026.

    O ecossistema do React evolui mais rápido, mas é menos auditável. NgRx + RxJS entregam estado serializável por padrão, e isso importa quando um regulador intima o seu fluxo de depósito. O argumento "Angular é lento" é uma opinião de 2018 que sobreviveu à sua validade.

  2. MFEMicro-frontends são um problema de contrato, não de roteamento.

    A maioria dos times os adota por razões de Conway (temos 4 times, queremos 4 apps) e paga o imposto errado. A parte difícil são os contratos de eventos e a autenticação/estado compartilhados, não a configuração do Module Federation. Se os seus MFEs não podem ser deployados de forma independente sem uma matriz de versões em runtime, você construiu um monólito distribuído.

  3. TESTA pirâmide de testes está errada para frontends B2C.

    Pirâmide invertida: muito E2E, poucos testes unitários, quase zero snapshots rasos, ganha quando a UX é o produto. Testes unitários pegam refatorações; E2E pega o que o cliente realmente vê. No cashier da Betsson, os fluxos de Playwright e WireMock me diziam se os pagamentos estavam em risco.

  4. AISpec-first é a única forma disciplinada de entregar com LLMs e agentes.

    Vibe-coding gera output que ninguém consegue revisar. Spec-driven development inverte isso: escreva o contrato, o comportamento esperado e os modos de falha primeiro, e o agente implementa contra um alvo legível. A spec é o artefato de revisão, não o código gerado. Foi assim que dirigi um sistema de engenharia assistido por IA na Betsson: toda ação automatizada revisável. Sem a spec, você tem uma caixa-preta que não dá para auditar, não dá para reverter e não dá para passar adiante.

# coisas que estou aprendendo ativamente

  • saber quando engenharia assistida por IA multiplica força vs acelera dívida
  • escrever specs que outra pessoa consegue entregar sem mim na sala
  • decidir o que NÃO entregar (a feature que não sai é a que não causa incidente. aprendendo a defender cortes.)
  • abrir um 1:1 com algo diferente de "então, como foi sua semana?" (a pergunta de aquecimento É a conversa. aprendendo a fazer perguntas melhores.)
  • aprender a estar errado em público sem fazer disso a história (engenheiros que admitem erros alto geralmente ainda estão fazendo disso sobre eles. corrige, segue em frente, para de performar o pedido de desculpas.)

# coisas nas quais escolhi não me especializar (ainda)

  • mobile nativo (ios/android além de ionic) (entreguei ionic para 5 SOs uma vez. já foi suficiente.)
  • treinamento / pesquisa de modelos de ML (consumidor de IA aplicada, não pesquisador. os agentes são a camada que eu domino.)
  • correr atrás das guerras de framework (entreguei o mesmo padrão de arquitetura em 4 sintaxes diferentes. a sintaxe nunca foi a parte difícil.)

> aberto a roles que me pressionem mais em qualquer um dos itens acima.

a opinião sobre design system está na documentação do design system

Guitarra e mixer

LEAD · Gretsch G5655TG → HX Stomp XL → IR cab → FOH

● SIGNAL_CHAIN.LIVE · SINAL OKTAIL -F ~/.RIG
// ENTRADA

GRETSCH G5655TG

Bigsby · corpo oco
// AMP

CAB MODELADO

sem válvula · simulação de IR
// SAÍDA

FOH / IEM

XLR estéreo · in-ear

INFLUÊNCIAS John Mayer · Mateus Asato · Jimmy Page · John Frusciante · as três guitarras do Iron Maiden obcecado por: "Yellow" do Coldplay: simplicidade é difícil.

ESTILO
dinâmica > drive
o espaço é a nota
AFINAÇÃO
mi padrão
às vezes drop D
RIG ALT.
Martin
acústico
SHOWS
eventos
igreja · casamento · open mic
▶ REC · AO VIVOCAM/01 · PALCO
Erik tocando guitarra no palco, show ao vivo
./GIGS --LIVE · SACRED + SWORN · FEEL OVER NOISE

[ .. ] carregando os canais do mixer

Contato

LS -L ~/CHANNELS

início
disponível agora
modo
aberto a qualquer formato: remoto global, híbrido ou presencial
tipo
tempo integral ou contrato
resposta
em até 48h
idioma
PT-BR (nativo) · EN (C1) · ES (B1) · FR (A2)