~/gpraca

Guilherme Praça

Product Engineer · Technical PM · Fintech B2B

Do problema ao deploy. Descubro o problema, decido a solução, escrevo o código e confiro o resultado em produção. Venho de produto (PO, PM, Head of Product) e hoje entrego código em fintech B2B, com um sistema próprio de agentes de IA que trabalha sob regras e travas.

From problem to deploy. I find the problem, decide the solution, write the code and check the result in production. I come from product (PO, PM, Head of Product) and now ship code in B2B fintech, backed by my own system of AI agents that runs under explicit rules and guardrails.

781PRs mergeadosPRs mergedtotal na org · sincronizado do GitHuball-time in the org · synced from GitHub
145incidentes de produção resolvidos na causa raizproduction incidents fixed at the root causelogs, banco e código até a linha do problemalogs, database and code down to the failing line
5+anos entre produto e engenhariayears across product and engineeringde gestão de projeto a Product Engineerfrom project management to product engineer
Pagamentos no ar em 13 diasPayments live in 13 daysGo-live de um novo parceiro BaaS de ponta a ponta: mTLS, webhooks, runbook e alarmes.End-to-end go-live of a new BaaS partner: mTLS, webhooks, runbook and alarms. Regra de KYC em 2 diasKYC rule in 2 daysDa spec à entrega de uma validação de titularidade em camadas, com fonte oficial e e-CNPJ.From spec to delivery of a layered ownership check, backed by an official source and e-CNPJ. O dado derrubou a premissaThe data killed the premiseUma métrica antiga apontava a causa errada. Medi o motivo real antes de construir.An outdated metric pointed to the wrong cause. I measured the real reason before building.
01 / métodomethod

Como eu trabalhoHow I work

  1. 01

    DescobertaDiscovery

    Converso com clientes e com o CS, faço entrevistas, leio o banco de produção, os funis no PostHog e os logs. Mais de uma vez o dado derrubou a premissa que todo mundo repetia.

    I talk to customers and to CS, run interviews, read the production database, PostHog funnels and logs. More than once the data killed the premise everyone kept repeating.

  2. 02

    DecisãoDecision

    Decido recorte, regra de negócio, prioridade e arquitetura, e respondo pelo resultado. Valido antes de escalar: teste A/B, protótipo, rollout por flag e conversa direta com cliente.

    I decide scope, business rules, priority and architecture, and own the outcome. I validate before scaling: A/B tests, prototypes, flag-based rollouts and direct customer conversations.

  3. 03

    ConstruçãoBuild

    Desenho o modelo de dados e o contrato da API e implemento ponta a ponta:

    I design the data model and the API contract and build end to end:

    backend
    Node + TypeScript em clean architecture, TypeORM e Postgres, migrations idempotentes, filas, outbox e jobs assíncronos.
    Node + TypeScript in clean architecture, TypeORM and Postgres, idempotent migrations, queues, outbox and async jobs.
    frontend
    React + TypeScript: telas do produto e do backoffice sobre um design system próprio, em monorepo pnpm.
    React + TypeScript: product and back-office screens on a custom design system, in a pnpm monorepo.
    integraçõesintegrations
    Pagamentos (FitBank, Asaas, Pix, BolePix), fiscal (Emissor Nacional, Focus NFe), identidade (Serpro) e contratos (Autentique), com mTLS, webhooks, retry e idempotência.
    Payments (FitBank, Asaas, Pix, BolePix), tax invoicing (Emissor Nacional, Focus NFe), identity (Serpro) and contracts (Autentique), with mTLS, webhooks, retries and idempotency.
    API
    API pública com chaves por cliente, limites de uso e referência documentada.
    Public API with per-client keys, rate limits and documented reference.
    qualidadequality
    Testes unitários, de integração e e2e com Playwright; PRs pequenos, revisados e com CI.
    Unit, integration and Playwright e2e tests; small, reviewed PRs with CI.
    IAAI
    Agentes que eu orquestro aceleram a escrita; arquitetura e revisão final são minhas.
    Agents I orchestrate speed up the writing; architecture and final review are mine.
  4. 04

    OperaçãoOperate

    Infra como código (OpenTofu) na AWS, deploy contínuo por GitHub Actions com OIDC, alarmes, métricas e runbook antes do go-live. Incidente eu sigo até a causa raiz.

    Infra as code (OpenTofu) on AWS, continuous deploys through GitHub Actions with OIDC, alarms, metrics and a runbook before go-live. I chase incidents down to the root cause.

  5. 05

    ResultadoResult

    Meço o efeito em produção e itero. Incidente recorrente vira fix definitivo; feature sem adoção volta para a descoberta.

    I measure the effect in production and iterate. A recurring incident becomes a permanent fix; a feature without adoption goes back to discovery.

  6. 06

    Ownership

    Assumo frentes inteiras, não tarefas. No go-live de um novo parceiro de pagamentos fui da integração técnica ao runbook, aos alarmes e ao primeiro cliente operando. O problema continua meu depois do merge: acompanho em produção, respondo ao CS e corrijo a causa quando algo volta.

    I take on whole areas, not tasks. On the go-live of a new payments partner I went from the technical integration to the runbook, the alarms and the first customer live. The problem stays mine after the merge: I follow it in production, answer support and fix the cause when something comes back.

  7. 07

    Frentes em paraleloParallel fronts

    Toco várias frentes ao mesmo tempo: num mesmo mês conduzi o go-live de pagamentos, uma adequação regulatória, uma regra de KYC, a API pública e o suporte de nível 3. Dá certo porque cada frente tem estado e próximo passo escritos (issue e board no GitHub, e um daily com uma linha por frente: o que travou e o que decidi), porque entrego em PRs pequenos que andam sem bloquear as outras, e porque os agentes executam várias issues em paralelo, em ambientes isolados, enquanto eu fico com as decisões.

    I run several fronts at once: in a single month I led a payments go-live, a regulatory compliance project, a KYC rule, the public API and tier-3 support. It works because every front has its state and next step written down (GitHub issues and board, plus a daily with one line per front: what is blocked and what I decided), because I ship in small PRs that move without blocking the others, and because agents run several issues in parallel, in isolated environments, while I keep the decisions.

02 / casoscases

Patches em produçãoPatches in production

Frentes que conduzi numa fintech B2B de gestão de prestadores PJ: contratos, notas fiscais e pagamentos.

Work I owned at a B2B fintech for companies that hire independent contractors in Brazil: contracts, service invoices and payouts.

[PATCH 1/4]

payments: go-live de um novo parceiro BaaSpayments: go-live of a new BaaS partner

2026-10
problemaproblem
Levar a operação de pagamentos para um novo parceiro sem interromper os repasses.
Move the payments operation to a new partner without interrupting payouts.
o que fizwhat I did
Conduzi a integração de produção de ponta a ponta: autenticação mTLS, webhooks, runbook de operação, alarmes e o fluxo de estorno de repasse recusado.
Led the production integration end to end: mTLS authentication, webhooks, an operations runbook, alarms and the rejected-payout refund flow.
resultadoresult
Integração validada em produção em 13 dias, com o primeiro cliente operando na sequência.
Integration validated in production in 13 days, with the first customer live right after.
[PATCH 2/4]

kyc: validação de titularidade em camadaskyc: layered ownership check

2026-10
problemaproblem
A titularidade dependia de dados informados pelo cliente e de conferência manual.
Ownership relied on customer-provided data and manual checks.
decisãodecision
O nome sozinho nunca aprova. O CPF é confirmado em fonte oficial; um e-CNPJ válido basta; cada cliente escolhe o modo de revisão.
A name match never approves on its own. The tax ID is confirmed against an official source; a valid e-CNPJ is enough; each customer picks its review mode.
resultadoresult
Da spec à entrega em dois dias, anunciada para toda a base de clientes.
From spec to delivery in two days, announced to the whole customer base.
[PATCH 3/4]

nfse: emissão automática com aviso recortado por dadonfse: automatic invoicing with a data-targeted launch

2026-09..10
problemaproblem
Feature pronta, pouca adoção. Um e-mail para toda a base atingiria quem não podia usar.
Feature shipped, low adoption. Emailing everyone would hit people who could not use it.
o que fizwhat I did
Recortei o público com dado de produção e mandei o aviso só para quem podia usar a emissão automática.
Segmented the audience with production data and sent the announcement only to people who could use automatic invoicing.
resultadoresult
Aviso sem ruído para o resto da base e adoção crescendo nas semanas seguintes.
No noise for the rest of the base, and adoption grew in the following weeks.
[PATCH 4/4]

crawler: medir antes de mexer no logincrawler: measure before touching the login

2026-10
problemaproblem
Uma métrica antiga dizia que a maior parte das falhas era de login.
An old metric said most failures were login problems.
o que fizwhat I did
Mostrei que a classificação estava desatualizada e instrumentei o motivo real da recusa antes de construir qualquer correção.
Showed the classification was outdated and instrumented the real rejection reason before building any fix.
resultadoresult
Prioridade decidida com dado, não com premissa.
Priority set by data, not by assumption.
03 / IAAI

IA com governançaAI with governance

Um conjunto de agentes sobre o Claude Code que multiplica minha entrega. A IA executa sob as regras que eu escrevo; produto, arquitetura e merge são decisões minhas.

A set of agents on top of Claude Code that multiplies my output. AI runs under the rules I write; product, architecture and merge are my calls.

pstree -a claude
claude
 ├─ coding-fleet   issues → worktree por issue → código → revisor independente → PR
 ├─ ticket-fleet
 │   ├─ reader      quarentena: lê o texto do cliente, sem outras ferramentas
 │   └─ executor    nunca vê o texto bruto; diagnostica e corrige
 ├─ merge-fleet    leva cada PR a CI verde + revisão aprovada
 └─ guardrails     hooks contra push indevido, vazamento e credencial
claude
 ├─ coding-fleet   issues → worktree per issue → code → independent reviewer → PR
 ├─ ticket-fleet
 │   ├─ reader      quarantined: reads customer text, no other tools
 │   └─ executor    never sees raw text; diagnoses and fixes
 ├─ merge-fleet    drives each PR to green CI + approved review
 └─ guardrails     hooks against bad pushes, leaks and credentials
04 / stack

Stack e domínioStack & domain

MAINTAINERS
PAYMENTS / BaaS
K:  FitBank, Asaas, Pix, BolePix, mTLS, webhooks

NFS-e
K:  Emissor Nacional, Focus NFe, NBS, MEI/ME

KYC / IDENTITY
K:  Serpro Integra Contador, Receita, e-CNPJ

CONTRACTS · PUBLIC API
K:  Autentique, API keys, rate limits
lsmod
react_ts        frontend, backoffice, design system
node_ts         clean arch, TypeORM, queues, outbox
postgres        RDS, migrations, SQL
aws             RDS Lambda SQS S3 CloudWatch IAM
opentofu        IaC · GitHub Actions + OIDC
observability   New Relic, Sentry, PostHog
playwright      e2e, browser QA
05 / princípiosprinciples

PrincípiosPrinciples

  1. Meça antes de mudar.Measure before you change.O número que todo mundo repete pode estar errado.The number everyone repeats may be wrong.
  2. Eu decido e assumo.I decide and I own it.Produto, arquitetura e prioridade: escolho, explico o trade-off e respondo pelo resultado.Product, architecture and priority: I choose, explain the trade-off and answer for the result.
  3. Fix definitivo acima de workaround.Permanent fix over workaround.Como isso nunca mais acontece?How does this never happen again?
  4. Entrega contínua.Continuous delivery.Muitos PRs pequenos em vez de um gigante, com revisão e CI antes de cada merge.Many small PRs instead of one giant one, with review and CI before every merge.
  5. PR pra quem não lê diff.PRs for people who don't read diffs.Impacto no fluxo e na UX; rollback e flags.Flow and UX impact; rollback and flags.
  6. Produção com segurança.Production done safely.Menor privilégio no acesso a dados, deploy só por pipeline e mudança de dado revisada como código.Least-privilege data access, pipeline-only deploys and data changes reviewed like code.
06 / trajetóriacareer

TrajetóriaCareer

git log --graph --oneline career
* 2026-08  fintech B2B   Product Engineer          (HEAD)
* 2025-12  fintech B2B   Head of Product / Technical PM
* 2024     uCondo        Product Owner / PM        700k+ usuários
* 2023     IBM           Product Owner
* 2022     Stefanini     IT Project Manager
* 2021     Dix Capital   Project / Product Manager fintech de crédito
* 2026-08  fintech B2B   Product Engineer          (HEAD)
* 2025-12  fintech B2B   Head of Product / Technical PM
* 2024     uCondo        Product Owner / PM        700k+ users
* 2023     IBM           Product Owner
* 2022     Stefanini     IT Project Manager
* 2021     Dix Capital   Project / Product Manager credit fintech
07 / códigocode

Veja meu códigoSee my code

Projetos meus, do zero e abertos, com as decisões de engenharia explicadas no README: problema, decisão e trade-off.

My own projects, from scratch and open, with the engineering decisions explained in each README: problem, decision and trade-off.

$ git clone https://codeberg.org/guilherme-praca/ abrir no Codeberg ↗open on Codeberg ↗

$ contribuições open source em github.com/guilherme-praca

$ open source contributions at github.com/guilherme-praca

demos, rodam no seu navegadordemos, running in your browser
no fornoin the oven

payments-webhook-playground

planejadoplanned

Projeto público: webhooks com HMAC, duplicação e desordem; consumidor idempotente, retry e DLQ.

Public project: HMAC webhooks with duplicates and reordering; idempotent consumer, retry and DLQ.

nfse-ops-dashboard

planejadoplanned

Projeto público: máquina de estados da nota, retry, logs estruturados e alerta.

Public project: invoice state machine, retry, structured logs and alerting.

pr-reviewer

planejadoplanned

Projeto público: revisor de PR com IA sobre o Hermes Agent, com regras explícitas e medição de acerto.

Public project: an AI PR reviewer on top of Hermes Agent, with explicit rules and measured accuracy.

08 / agoranow

AgoraNow

ouvindolistening
estudando e aprofundandostudying & going deeper
09 / contatocontact

ContatoContact

Quer trocar uma ideia sobre algum problema, ou pensando em me contratar? Bora conversar. Me chama por e-mail ou no LinkedIn que eu respondo.

Want to talk through a problem, or thinking about hiring me? Let's talk. Reach out by email or on LinkedIn and I'll get back to you.

  • Autodidata, sem graduação: 5+ anos de mercado e o que aprendi entregando em produção
  • Comecei o Tecnólogo em Banco de Dados (UniCesumar) e parei
  • Hoje estudo por conta própria, com um plano semanal (veja /now)
  • G4 Leadership Academy · Scrum Foundation · ITIL 4
  • Claude 101 · Agent Skills · N8N Automation
  • Self-taught, no degree: 5+ years in industry and what I learned shipping to production
  • Started a Database Technology program (UniCesumar) and stopped
  • Studying on my own today, on a weekly plan (see /now)
  • G4 Leadership Academy · Scrum Foundation · ITIL 4
  • Claude 101 · Agent Skills · N8N Automation