PROJETO PESSOAL · 2025
Ledgerline.
Clareza financeira pra quem vive de freelance
Contexto
Dinheiro de freelance nasce espalhado: fatura numa ferramenta, recibo no email, imposto numa planilha, o banco em outro lugar. Construí o Ledgerline em torno de outro modelo — em vez de gerenciar documentos, acompanhar o movimento do dinheiro: o que entrou, o que está comprometido, o que dá pra gastar com segurança.
O problema
A parte difícil nunca foi o dashboard. Era tornar a importação e a categorização confiáveis o suficiente pra agir em cima: CSVs de bancos com formatos diferentes, pagadores recorrentes com nomes inconsistentes, e o fato de que ferramenta financeira em que ninguém confia é pior que nenhuma.
Meu papel
Desenvolvedor único — modelagem de domínio, backend, pipeline de dados e interface.
O que tornou tecnicamente interessante
Cada banco exporta CSV com suas manias: datas em formatos diferentes, débitos como valor positivo ou negativo, encodings que quebram no meio do arquivo. A camada de ingestão precisa traduzir tudo isso num modelo de transação confiável sem perder dado no caminho.
A categorização precisa ser automática o suficiente pra economizar tempo e corrigível o suficiente pra continuar precisa — um motor de regras que aprende pagadores recorrentes, com toda correção manual realimentando as regras.
A pergunta central do painel — 'quanto eu posso gastar com segurança agora' — depende de compromissos, não só de saldos. Isso significa modelar obrigações futuras, não apenas transações passadas.
Decisões
- Um modelo de transação único e normalizado
- Todo formato de banco é traduzido na borda do sistema, então o domínio central nunca precisa saber de onde veio a transação. Adicionar um banco virou um problema de mapeamento, não de reescrita.
- Agregação no servidor, não no cliente
- Os resumos mensais são calculados em views SQL em vez de carregar transações cruas no navegador — o painel continua rápido mesmo com anos de histórico.
- Motor de regras com correção humana
- A automação cuida da maior parte da categorização, e correções manuais realimentam as regras — o sistema fica mais preciso quanto mais é usado.
Resultado
- Exportações de bancos diferentes se normalizam num modelo único — o pipeline se estende por mapeamento, não por reescrita.
- Resumos mensais e cientes de compromissos são calculados em SQL — a interface nunca rederiva o estado financeiro.
- Correções alimentam o motor de regras em vez de acumular como exceções sem estrutura.
O que eu aprendi
Automatizar um domínio ensina o domínio. Cada categoria que eu errei no começo era uma falha no meu próprio entendimento de como o dinheiro circula no trabalho freelance.
Tem um projeto nesse espaço?
Vamos conversar sobre isso