Construo ossistemas poronde umavenda passa.

Sou Matheus Donato, desenvolvedor fullstack desde 2021. Na Verzel, escrevo o motor que emite as notas fiscais de uma rede varejista, as APIs que os caixas chamam e os apps que seguem funcionando quando a internet da loja cai.

Ver os sistemas

Comecei em 2021 com Flutter na Target Sistemas, construindo apps com Clean Architecture. Desde 2024, na Verzel, trabalho no coração do varejo: emissão fiscal, caixa, eventos, tesouraria e o chão de loja.

Escrevo TypeScript e NestJS na maior parte do tempo, Flutter quando o problema está no balcão e, hoje, Java com Spring Boot no backend do PDV. Oracle e SQL escritos à mão fazem parte da rotina.

Fora do trabalho, cofundei o Dividê, um app de finanças para casais. É onde levo um produto do código ao usuário final.

Matheus Donato sorrindo diante de monitores com código.
Matheus Gabriel Donato Benevenuto

Seis sistemas em produção numa rede varejista com muitas lojas, na ordem em que uma venda passa por eles. Descritos sem nomes nem números, porque pertencem ao cliente.

  1. 01caixacontribuidor

    PDV desktop e mobile

    O sistema de frente de caixa das lojas, em Flutter para desktop (Linux, Windows e macOS) e para mobile.

    • Integração com o motor fiscal para emitir NFC-e e NF-e no fechamento da venda.
    • Venda com cartão em modo offline e finalização mais rápida por forma de pagamento.
    • Troca e devolução redesenhadas; testes e injeção de dependência num legado grande.
    • Em Java com Spring Boot: limites de desconto e promoções por grade de cor e tamanho.

    FlutterDartMobXFFIJava 17Spring BootJUnit

  2. 02fiscalprincipal contribuidor

    Motor de emissão fiscal

    A API que os caixas chamam para emitir notas fiscais de consumidor e eletrônicas junto à autoridade fiscal.

    • Gera o XML fiscal, já com os campos da reforma tributária (IBS e CBS).
    • Contingência offline com reenvio, cancelamento e inutilização de numeração.
    • Integra uma biblioteca nativa via FFI e grava o retorno no banco de cada loja.

    NestJSTypeScriptOraclePostgreSQLFFIJestDocker

  3. 03eventosliderei a v2

    Motor de eventos fiscais

    Recebe por webhook os eventos do provedor de documentos fiscais e os reconcilia com o back office legado.

    • Confirma o status na origem antes de gravar; cada escrita é uma transação atômica.
    • Pede reentrega quando um evento chega fora de ordem e registra eventos não documentados.
    • Na v2, troquei um monólito por use cases e adaptei ao novo CNPJ alfanumérico.

    NestJSOracleClean ArchitectureJestDockerAzure DevOps

  4. 04filasautor único do módulo

    Pipelines de regularização fiscal

    Workers que regularizam documentos fiscais em lote, sem travar a operação das lojas.

    • Importam lotes de XML e ZIP, reservam numeração por loja e classificam cada documento.
    • Locks distribuídos garantem que o mesmo item nunca seja processado duas vezes.
    • Um painel em React acompanha o progresso em tempo real via SSE.

    BullMQRedisNestJSReactSSETurborepo

  5. 05back officeautor único do front-end

    Tesouraria e caixa

    A aplicação do tesoureiro da loja, com um BFF em NestJS na frente de um backend legado.

    • Abertura e fechamento, sangria e suprimento com autorização de gerente.
    • Guia de depósito em PDF e vínculo entre transações de cartão e depósitos.
    • Roadmap para aposentar o backend legado, módulo a módulo.

    ReactTypeScriptNestJSZodDocker

  6. 06chão de lojado zero

    Remarcação de preços offline-first

    App e API para trocar as etiquetas de preço da loja, funcionando mesmo quando a internet cai.

    • Leitura por scanner físico ou câmera; etiquetas em impressoras térmicas Bluetooth.
    • Corrigi a biblioteca do protocolo da impressora e fiz a atualização de firmware pelo app.
    • Log local, sincronização em segundo plano e reconciliação com o servidor.

    FlutterBlocsqfliteNestJSOracleDocker

produto próprio / cofundador desde 2026

Dividê

Finanças do casal, simplificadas.

Controle financeiro pessoal e em casal: despesas compartilhadas, metas conjuntas e clareza total sobre o dinheiro do relacionamento. Um produto pensado para tirar o atrito da conversa sobre dinheiro.

Página inicial do Dividê aberta num notebook: Finanças do casal, sem complicação.

Lida como um git log: do mais recente ao primeiro commit. A linha da esquerda é o trabalho; a da direita, formação e produto próprio.

  1. 2026HEAD

    Java e Spring Boot entram no dia a dia

    Regras de desconto e promoções no backend do PDV, em módulos hexagonais com JUnit.

  2. 2026

    Cofundo o Dividê

    App de finanças para casais. Produto próprio, do código ao usuário final.

  3. 2024–hoje

    Desenvolvedor FullStack

    Verzel Soluções em Sistemas, São Paulo / SP

    Sistemas de varejo em produção: emissão fiscal, PDV, eventos, back office e chão de loja.

    • Sistema completo de NF-e e NFC-e em NestJS, integrado a APIs de terceiros.
    • PDV em Flutter para desktop e mobile.
    • APIs em NestJS e Node.js; front-ends em React, Next.js, Flutter e WordPress.
    • Oracle, PostgreSQL e Redis; Docker, CI/CD e AWS (DynamoDB, Cognito, S3/CloudFront).

    NestJSFlutterReactNext.jsJavaOraclePostgreSQLRedisDocker

  4. 2023

    Tecnólogo em Análise e Desenvolvimento de Sistemas

    Universidade de Araraquara (UNIARA), Araraquara / SP

  5. 2021–2024

    Desenvolvedor Mobile

    Target Sistemas, Ribeirão Preto / SP

    Mobile com foco em Flutter e Dart, complementando com web e APIs.

    • Apps em Flutter/Dart com MobX e Intl.
    • Web em Angular com código limpo e bem estruturado.
    • APIs em NestJS com diversos bancos de dados.
    • Clean Architecture, Scrum e Kanban.

    FlutterDartMobXAngularNestJSClean Architecture

  6. 2020

    Início em ADS

    UNIARA

Organizada pelo quanto eu uso, não pelo quanto fica bonita numa lista.

stack.lockatualizado em outubro de 2026

# domino

# uso em produção e respondo pelo resultado

TypeScript + NestJS
APIs modulares, Clean Architecture, guards e filas
Oracle
SQL à mão, transações e conexão por loja
Flutter + Dart
PDV desktop e mobile, MobX e Bloc
NF-e e NFC-e
XML, contingência, cancelamento e reforma tributária
Offline-first
log local, sync em segundo plano e reconciliação
Jest
testes unitários e e2e com gate de cobertura

# dia a dia

# ferramentas da rotina atual

Java 17 + Spring Boot
regras de domínio em módulos hexagonais, JUnit
React + Next.js
back offices, Vite, TanStack e Tailwind
BullMQ + Redis
filas, locks e workers
PostgreSQL
Prisma e TypeORM
Docker
imagens multi-stage e deploy em Swarm
CI/CD
pipelines no Azure DevOps com scan de segurança
Observabilidade
Pino, Grafana e Loki
Hardware
impressoras térmicas, Bluetooth, leitores e FFI

# já usei

# conheço e já entreguei com

AWS
DynamoDB, Cognito, S3 e CloudFront
Angular
web na Target Sistemas
Keycloak + LDAP
autenticação corporativa
PHP, MySQL, MongoDB
projetos anteriores
Firebase, Vercel
produtos e projetos próprios
Python, Go
scripts e ferramentas pontuais
práticas Clean Architecture, SOLID, DDD, MVC, MVVM, RESTful APIs, Microsserviços, TDD, CI/CD, Scrum, Kanban

Agora

atualizado em outubro de 2026

Full-time na Verzel, em sistemas de varejo com NestJS, Flutter e Java com Spring Boot. Em paralelo, evoluindo o Dividê.

  • Aprofundando em arquitetura distribuída e padrões de eventos em microsserviços.
  • Estudando React Server Components e padrões de cache no App Router.
  • Melhorando a observabilidade de APIs fiscais em produção.
  • Crescendo o Dividê, app de finanças para casais.

Aberto a conversas sobre engenharia, sistemas e produto. Respondo por email.

Enviar email

Matheus Donato

Desenvolvedor de sistemas

comprovante de contato

statusaguardando você

obrigado pela visita