P&D pessoal
Territorial Assistant
Um daemon baseado em Discord que transforma minha própria atividade de trabalho em timesheets aprovados e em uma base curada de histórias de engenharia.
Reconstruir horas faturáveis de memória e achar tempo para escrever sobre o trabalho eram duas tarefas que eu vivia adiando. Este assistente de processo único lê ActivityWatch, git, GitHub e transcrições do Claude Code, propõe timesheets diários no Discord e minera a mesma evidência em busca de histórias que valham publicação.
Em resumo
- Um processo TypeScript, um banco Postgres, um bot Discord; nenhuma UI web para manter
- Claude é usado só para julgamento, nunca para contabilidade: regras e caches respondem primeiro, e as chamadas são liberadas apenas com orçamento sobrando na assinatura
- O assistente de timesheet propõe lançamentos por cliente, aprende regras de mapeamento a partir de correções em linguagem natural e registra dias aprovados no Territorial Invoices
- O assistente de marketing extrai e pontua histórias semanalmente e redige posts; informação confidencial de clientes é excluída por projeto
Como funciona o assistente de timesheet
A cada quinze minutos o daemon ingere eventos de janela e navegador do ActivityWatch, os compacta em blocos de atividade e resolve tudo o que consegue com regras aprendidas: este repositório é aquele cliente, este host de URL é aquele projeto. Só o restante ambíguo vai para o Claude. Blocos viram intervalos brutos por cliente, intervalos são fundidos em sessões cognitivas com margem de 15 minutos e tolerância de 45 minutos entre elas, e cada sessão é enriquecida com o que foi de fato feito usando commits e transcrições daquela janela.
O resultado é uma proposta em uma thread do Discord, uma por dia. Respondo em linguagem natural ("S2 é ACM, marco Maintenance & DevOps"), o bot revisa, aprende a regra e, na aprovação, registra um lançamento por sessão e projeto pelo endpoint MCP do Invoices. Dias incompletos são recusados em vez de registrados pela metade.
O assistente de marketing
O segundo módulo trata expertise como produto. Ele reúne o histórico git, pull requests e transcrições da semana, extrai o que aconteceu e qual foi a lição, e pontua cada item como um ângulo com que um gestor de SIG ou CTO se importaria mesmo sem conhecer o projeto. Segunda-feira chega um digest de candidatas no Discord; eu escolho e atribuo cada uma a um blog, o assistente redige em uma thread, abre um pull request no repositório do site na aprovação e prepara posts para o LinkedIn quando o artigo vai ao ar. A base de conhecimento persiste entre semanas, então itens de baixa pontuação podem ser revividos depois.
Restrições de projeto
Os estágios se comunicam apenas pelo banco, então qualquer um deles pode ser reexecutado. O Claude é invocado pela CLI local com esquemas de saída estruturada, sem ferramentas e sem persistência de sessão, para que chamadas geradas pelo assistente nunca contaminem as transcrições que ele lê depois. Um gate consulta o endpoint de uso da assinatura e esvazia uma fila de prioridade só quando o orçamento ficaria sem uso: respostas interativas primeiro, timesheets em seguida, marketing por último.
Mais projetos
Todos os projetos
Finances
Um app pessoal de livro-razão e orçamento com arquitetura Postgres-first: uma instância PostgREST, um frontend estático, nada mais.
- PostgreSQL
- PostgREST
- React
- Vite
- +5
- Pergunta
- LLM
- Validação
- PostGIS
- Resposta
Plataforma de Consulta Geoespacial em Linguagem Natural
Um produto em que usuários fazem perguntas sobre dados geográficos em linguagem natural e recebem respostas, gráficos e mapas, gerados por um LLM sobre PostGIS.
- FastAPI
- Python
- LangChain
- PostgreSQL
- +7

Geo360 LADM
O primeiro sistema de administração territorial no Brasil construído sobre o padrão ISO 19152 LADM, liderado enquanto eu estava na Topocart.
- PostgreSQL
- PostGIS
- GeoServer
- LADM (ISO 19152)
- +4