Software Engineer·Go · TypeScript · React Native · Oracle· disponível para projetos

$

Tecnologia para mim é meio, não fim — o objetivo sempre é resolver o problema da melhor forma possível.

Sou Matheus G. G. Clemente — engenheiro de software com mais de 5 anos de experiência. Construo integrações entre ERP e plataformas web, serviços concorrentes em Go e aplicativos React Native que funcionam onde não há rede.

5+
anos de experiência
~60k
linhas Go em produção
4 bancos
Oracle, Postgres, Mongo, MySQL
2 apps
React Native em campo

// o que faço

No que trabalho

falar comigo
01Backend

Go · Python

Serviços backend com foco em eficiência e concorrência

Construo serviços backend com Go e Python, priorizando performance, confiabilidade e qualidade de código em cenários reais de produção.

performance

02Assíncrono

filas · workers

Processamento assíncrono e tarefas agendadas

Processamento assíncrono com filas e workers, sincronização contínua de dados críticos e tarefas agendadas — lidando com alto volume sem perder confiabilidade.

concorrência

03Integrações

Oracle ERP · web

Integradores de alta performance entre sistemas

Atualmente desenvolvo integradores de alta performance entre ERPs (Oracle) e plataformas web, conectando sistemas heterogêneos — APIs, bancos diversos e dados críticos.

confiabilidade

04Mobile

React Native · Kotlin

Aplicativos de campo que funcionam sem rede

Coleta de dados em React Native com banco local como fonte primária, leitura de RFID por módulo nativo em Kotlin e sincronização reconciliável.

offline-first

// o que eu resolvi

Três problemas reais

Sistemas em produção no agronegócio — cadeia do algodão, do campo ao ERP. Descrevo a decisão de engenharia, não o código do cliente.

01

integração de sistemas

Integração deixou de ser um job e virou processo com estado

Problema

A sincronização entre o ERP Oracle e a plataforma de gestão agrícola rodava em crons, scripts e jobs sem estado. Ninguém conseguia responder o básico: o que foi integrado, quando falhou, por quê, e como reprocessar sem duplicar. O diagnóstico dependia de ler log.

Decisão

Tratar integração como processo com estado persistido. Um ledger em PostgreSQL virou a única fonte de verdade: cada entidade tem uma intenção de integração com estado explícito e transições fechadas. Separei quem detecta mudança de quem aplica. E obriguei todo plugin a classificar erro em transitório ou funcional — retry deixou de ser adivinhação.

Resultado

Reprocessar virou uma transição de estado, não um script manual em produção. O core não conhece regra de negócio: cada integração nova é um plugin de quatro métodos. Idempotência vem de hash da origem, não de convenção.

PENDINGPROCESSINGSYNCEDFAILEDDEADdiscover detectou mudança na origemretry — erro transitórioesgotou as tentativasreprocesso manual
Máquina de estados do ledger — qualquer transição fora deste grafo é rejeitada.
  • ~31k linhas Go
  • 266 de 268 commits meus
  • 15 integrações em produção
  • 4 bancos: Oracle, Postgres, MySQL, Mongo
  • 3 binários: api, scheduler, worker
  • OpenTelemetry + Prometheus
02

mobile em campo

O dado nasce onde não existe sinal de celular

Problema

A conferência de módulos de algodão acontece na lavoura e no pátio, onde a rede é intermitente ou simplesmente não existe. O aplicativo precisa operar um turno inteiro offline, ler RFID e código de barras, registrar geolocalização — e depois sincronizar sem duplicar nem perder registro.

Decisão

Offline-first de verdade: o banco local é a fonte primária, não um cache. A tela nunca espera rede. A sincronização é um processo separado e reconciliável. O hardware de RFID entrou por módulo nativo em Kotlin, mantendo a fronteira entre o que é React Native e o que é Android.

Resultado

Dois aplicativos em uso por equipes de campo, com observabilidade de cliente para enxergar o que acontece fora do escritório — onde não há como reproduzir o bug. Autenticação por OAuth e entrega por CI/CD.

  • ~42k linhas TypeScript
  • ~1,6k linhas Kotlin nativo
  • 246 de 248 commits em um dos apps
  • WatermelonDB · offline-first
  • RFID · código de barras · GPS
  • React Native 0.86 / React 19
03

padronização

Projeto novo não deveria começar em branco

Problema

Cada projeto novo de frontend e mobile renegociava as mesmas decisões: estrutura de pastas, lint, testes, CI, autenticação, tratamento de erro. A qualidade do resultado dependia de quem tinha começado o repositório.

Decisão

Separar doutrina de esqueleto. O handbook responde por quê — um documento por pergunta, com ADRs para o que não deve ser revertido. O scaffold entrega o quê já decidido, e as fronteiras de arquitetura são impostas por lint, não por convenção: o que é regra falha no CI.

Resultado

Todo projeto novo de frontend e mobile da empresa nasce desses templates, já com camadas, testes, E2E, hooks de commit e pipeline configurados. A discussão saiu do "como organizar pasta" e voltou para o problema do produto.

  • 51 documentos de handbook
  • 2 scaffolds oficiais
  • autoria única
  • Next.js 16 · React 19 · Mantine
  • E2E com Maestro
  • fronteiras em lint, não em convenção

// fora do expediente

O que construo por conta

Projetos próprios, do zero ao deploy. Uso para testar decisões de arquitetura sem o custo de errar em produção alheia.

obligare

~45k linhas

Go · TypeScript · PostgreSQL · RabbitMQ

Backend multi-tenant de gestão de obrigações documentais. Outbox transacional, webhooks com validação de SSRF, trilha de auditoria e gate de cobertura no CI.

venator-ai

~18k linhas

Go · React · Ollama · Postgres

Auditoria de segurança onde o LLM orquestra e interpreta ferramentas reais — gitleaks, semgrep, trivy, nmap, nuclei. A IA explica; as ferramentas encontram.

cyberpunk-frontier

~21k linhas

Go · WebSocket · Unity · Redis · sqlc

Servidor de jogo com arquitetura server-authoritative: toda regra, combate e economia rodam no servidor. Cliente Unity não decide nada.

devora

~22k linhas

Go · React · TypeScript · PostgreSQL

Plataforma de anúncios e descoberta de profissionais de serviço, com modelagem e regras de negócio documentadas antes da primeira linha de código.

Abyssal-Ascent

~11k linhas

Go · gRPC/protobuf · Python · Unity

Servidor de jogo com contratos em protobuf e um RAG próprio para a documentação — Ollama e Qdrant, escrito do zero, sem LangChain. 1.400 documentos indexados.

personal-engineering-context

~9k linhas

Python · MCP · Qdrant

Camada de memória de engenharia para agentes de IA via MCP. Busca semântica para decisões e regras; busca estrutural para símbolos no código.

AgendaSplit

~5k linhas

Go · Next.js · sqlc · goose · Redis

Micro-SaaS B2B de manutenção preventiva: recorrência, disparo de WhatsApp, laudo em PDF e cobrança via Pix.

kira

~1,5k linhas

Kotlin · Android · openWakeWord

Assistente de voz que captura pensamento no momento em que ele surge. Wake word rodando no aparelho, sem enviar áudio contínuo para servidor.

Esses repositórios são privados — parte tem código de produto em andamento. Se algum for relevante para a nossa conversa, mostro o código e passo pelas decisões numa call.

// competências

O que domino

Backend, dados, integrações e mobile — o que aparece aqui está em produção, não em curso.

integração

Sistemas heterogêneos conversando com estado auditável

ERP Oracle, APIs e bancos diversos — com histórico de tentativa, classificação de erro e reprocesso seguro.

Backend
go

Serviços concorrentes em Go

Workers, schedulers e filas: goroutines, canais e desligamento gracioso em serviços que rodam sem supervisão.

Concorrência
dados

Quatro bancos em produção no mesmo sistema

Oracle, PostgreSQL, MongoDB e MySQL — cada um onde faz sentido, não onde é confortável.

Dados
mobile

React Native offline-first com módulo nativo

Banco local como fonte primária, sincronização reconciliável e integração com hardware via Kotlin.

Mobile
observab.

Sistema que explica o próprio comportamento

OpenTelemetry, Prometheus e APM — porque em campo não existe "reproduzir o bug na minha máquina".

DevOps
padrão

Doutrina escrita e esqueleto rodável

Handbooks e scaffolds oficiais de frontend e mobile: fronteira de arquitetura que falha no CI, não no code review.

Arquitetura

vamos conversar

// vamos conversar

Bora conversar.

Backend, integrações ou processamento de dados — se o problema é complexo, adoro resolver. Me manda um email.

✓ email copiado.

Resposta rápida
Costumo responder em até 24h.
Disponível
Aberto a projetos e novas oportunidades.
Remoto
Trabalho remotamente, de qualquer lugar.