voltar aos projetos

Arco — hábitos com progresso

.NET 10 · React 19 PWA · servidor MCP · 83 testes

PWA de hábitos com níveis, objetivos em ciclos de 6 semanas, XP e conquistas. Funciona offline e expõe API REST e servidor MCP.

  • .NET 10
  • EF Core
  • SQLite
  • React 19
  • TypeScript
  • TanStack Query
  • Tailwind CSS 4
  • Azure

A segunda geração do Arco. A primeira (um app de check-ins com pontuação, em .NET 9 e Next.js, de código aberto) virou a base de uma ideia maior: hábitos que evoluem. O código da nova versão é privado e ela está em uso pessoal, rumo a virar multiusuário.

O que ele faz

  • Hábitos com níveis: cada nível tem uma dose e uma versão mínima, e a escada pode ser planejada com antecedência. O app sugere subir ou descer um degrau conforme a consistência, mas a decisão é sempre de quem usa.
  • Ciclos e objetivos: ciclos de 6 semanas (configuráveis de 1 a 12), com objetivos numéricos ou por marcos e encerramento com revisão guiada.
  • Progresso: check-in feito, mínimo ou não fiz, sequência que perdoa uma falha isolada por semana, XP, 16 conquistas e estatísticas das últimas 12 semanas.

Engenharia

  • Uma API, um processo: .NET 10 com Minimal APIs organizadas por funcionalidade. A API serve o front em React 19 + Vite do mesmo processo.
  • XP como livro-razão: cada ganho de XP é gravado na mesma transação da ação que o gerou. Desfazer um ciclo ou objetivo desfaz também o XP e as conquistas.
  • Servidor MCP com 17 ferramentas, para assistentes de IA lerem e registrarem hábitos. As ferramentas passam pela própria API REST, nunca direto no banco.
  • Offline de verdade: o cache fica no IndexedDB, e os check-ins feitos sem conexão entram numa fila e são reenviados na ordem quando a rede volta.
  • Web Push implementado do zero (VAPID e criptografia aes128gcm, sem biblioteca), com lembretes disparados por um serviço em segundo plano.
  • Chaves de API de 256 bits guardadas só como hash, e backup diário do SQLite mantido por 14 dias.
  • Deploy no Azure pelo GitHub Actions com login OIDC, sem segredo de longa duração no repositório. 83 testes de domínio e integração.

// cv.pdf

Baixar currículo

Antes do download, me conta quem é você. Assim eu sei com quem retomar a conversa.

Seus dados não são compartilhados com ninguém e podem ser apagados quando você pedir.