Contexto: PessoalPeríodo: 2026
código aberto

Jungle Wallet

Carteira de apostas em Go em que o próprio banco garante que o saldo nunca diverge do ledger.

Meu papel

Todo o código, a infraestrutura e o CI/CD. Repositório público.

232
req/s numa VM de 2 vCPU
29,8 ms
de p95
0
divergências na reconciliação
SPAN 01 // CONTEXTO

Problema

O desafio era processar BET, WIN, LOSS, REFUND e ROLLBACK de vários provedores, por HTTP e por fila SQS FIFO, sem perder atualização, sem saldo negativo e sem processar duas vezes.

SPAN 02 // IMPLEMENTAÇÃO

Solução

Go com Uber Fx e pgx (SQL explícito, sem ORM), PostgreSQL 17, SQS e SNS FIFO e Keycloak para OIDC. Dinheiro é int64 em centavos, e um teste de AST proíbe float em todo o código interno.

SPAN 03 // DETALHES

Destaques

  • Invariantes no banco, com ledger append-only, cadeia contínua de versão e saldo e uma constraint trigger DEFERRABLE que confere no commit se o saldo bate com o último lançamento.
  • Idempotência com hash canônico RFC 8785, compartilhada entre HTTP e fila.
  • Um REFUND que chega antes do BET fica pendente e é resolvido quando o BET chega.
  • Outbox ordenado por carteira, com fencing token.
  • CI com 10 gates (testes -race, testes de sistema com SIGKILL no meio do commit, E2E, Trivy, CodeQL e Gitleaks), imagem assinada com Cosign e deploy via Tailscale com rollback.
SPAN 04 // RESULTADO [200 OK]

Resultado

Aguentou 232 req/s sustentados numa VM de 2 vCPU rodando a stack inteira, com p95 de 29,8 ms e zero divergência na reconciliação. Está no ar em jungle.lab.fredzol.io.

Ações rápidasMudar idioma para Inglês (EN)
EN
Ações rápidasAlternar tema claro / escuro
THEME
Ações rápidasBaixar currículo em Português (PDF)
PDF · PT-BR
Ações rápidasBaixar currículo em Inglês (PDF)
PDF · EN
Ações rápidasCopiar endereço de e-mail (fredzolio.dev@gmail.com)
COPY
NavegaçãoServiços em produção e projetos principais
#servicos
NavegaçãoTodos os projetos
/projetos/
NavegaçãoLinha do tempo profissional
#carreira
NavegaçãoPalestras, contratação, documentação e open source
#atuacao
NavegaçãoCompetências e ferramentas
#stack
NavegaçãoFormação acadêmica, cursos e idiomas
#formacao
NavegaçãoContato e currículo
#contato
Projetos e estudos de casoRio Queue
IplanRio · em produção
Projetos e estudos de casoBusca e recomendação de serviços públicos
IplanRio · em produção
Projetos e estudos de casoAPI de cursos, vagas e empregabilidade
IplanRio · em produção
Projetos e estudos de casoTeste de carga do SuperApp
IplanRio · uso interno
Projetos e estudos de casoPipelines de dados do Nota Carioca
IplanRio · em produção
Projetos e estudos de casoInvestigação de custo no GCP e Billing Guard
IplanRio · em produção
Projetos e estudos de casoGateway do EAí e MCP server da Prefeitura
IplanRio · em produção
Projetos e estudos de casoPlataforma de agentes de código para os devs
IplanRio · uso interno
Projetos e estudos de casoAgentes para operação de infraestrutura
IplanRio · uso interno
Projetos e estudos de casoIntegrações do chatbot da Prefeitura
IplanRio · em produção
Projetos e estudos de casoWorker de e-mail em Go
IplanRio · em produção
Projetos e estudos de casoTelas da sala de reunião executiva
IplanRio · em produção
Projetos e estudos de casoAlliomed
Vizo · em produção
Projetos e estudos de casoMaestro, esteira de agentes de código
Vizo · uso interno
Projetos e estudos de casoProventus
Vizo · em uso por clientes
Projetos e estudos de casoSienge SaaS RPA
Vizo · vendido
Projetos e estudos de casoDiagnóstico de infraestrutura AWS
Vizo · cliente
Projetos e estudos de casoPLANEHAB Nosso Bairro
Freelance · no ar
Projetos e estudos de casoConecta Solar
Freelance · no ar
Projetos e estudos de casoVardis
Freelance · cliente
Projetos e estudos de casoLivinHub
Freelance · cliente
Projetos e estudos de casoNDC Nexus
New Data Company · protótipo
Projetos e estudos de casoMonitor de grupos de WhatsApp
New Data Company · protótipo
Projetos e estudos de casoERP interno
New Data Company · uso interno
Projetos e estudos de casoJungle Wallet
Pessoal · código aberto
Projetos e estudos de casoZolioLab
Pessoal · uso interno
Projetos e estudos de casoOSCE Cirurgia
Pessoal · protótipo
Projetos e estudos de casoCorreção de redação do ENEM
Pessoal · experimento
Projetos e estudos de casoGamePixzo
Pessoal · protótipo
Projetos e estudos de casoSurkai
Pessoal · código aberto