~/manuelzzz

projetos

Projetos pessoais e contribuições em que venho trabalhando.

manuelzzz.dev.br

ativo

problema: Precisava de um lugar próprio pra reunir portfólio, experiência e um registro contínuo do que venho construindo e aprendendo — sem depender de plataformas de terceiros.

solução: Site estático com cara de documentação técnica, todo o conteúdo (projetos e changelog) versionado em Markdown no próprio repositório, sem backend, publicado no GitHub Pages via GitHub Actions.

contribuição: Projeto próprio, construído e mantido do zero — este é o site que você está vendo agora.

  • Astro
  • Tailwind CSS
  • TypeScript
  • GitHub Actions

VersionGate

ativo

problema: Apps mobile precisam de uma forma confiável de sinalizar ao cliente se ele deve seguir normalmente, avisar sobre uma atualização disponível, ou bloquear o uso até atualizar — sem depender de um serviço fechado de terceiros.

solução: Servidor self-hosted que expõe uma REST API de políticas de atualização: o app consulta a versão atual contra o histórico de releases cadastrado e recebe de volta a ação recomendada (seguir, avisar ou bloquear).

contribuição: Projeto próprio, do design da API à documentação. Não distribui binários — gerencia apenas metadados de release e políticas. Documentação publicada com Astro + Starlight. Licença MIT.

  • Go
  • PostgreSQL
  • Docker
  • Docker Compose
  • Astro
  • Starlight

The Cheat Sheet

ativo

problema: Guias de referência rápida (cheat sheets) pra devs costumam estar espalhados, desatualizados ou presos em posts isolados — faltava um lugar único, versionado e aberto a contribuições.

solução: Site estático bilíngue (PT-BR e EN) com conteúdo em Astro Content Collections, busca client-side via Pagefind (sem backend), e CI/CD que publica automaticamente a cada contribuição aceita.

contribuição: Projeto próprio, aberto a contribuições externas via pull request — qualquer pessoa pode adicionar ou revisar um cheat sheet.

  • Astro
  • TypeScript
  • Tailwind CSS
  • Pagefind
  • Markdown

version_policy

ativo

problema: Comparar só a versão atual do usuário contra a mais recente pode deixar passar uma atualização obrigatória que existe *entre* as duas — o app segue achando que está tudo bem quando não está.

solução: Lib pure Dart (sem Flutter, HTTP, storage ou UI) que percorre o histórico completo de releases entre a versão atual e a mais recente, e resolve uma única pergunta: qual é a exigência de atualização — nenhuma, opcional ou obrigatória?

contribuição: Projeto próprio, extraído da lógica de políticas de atualização usada no VersionGate para ser reutilizável independente de framework. Licença MIT.

  • Dart

Separar essa lógica do VersionGate deixou claro o valor de isolar uma regra de negócio pura (sem I/O) numa lib própria — o consumidor decide o que fazer com a resposta (diálogo, bloqueio, log), a lib só resolve a regra.

DevGrid

ativo

problema: Uso GitHub e GitLab no dia a dia, e cada plataforma só mostra o próprio contribution graph — nenhuma das duas enxerga a atividade na outra.

solução: Workflow do GitHub Actions que roda todo dia, soma a atividade das duas plataformas por dia, e gera um SVG único (versões light e dark) publicado numa branch de assets do próprio repositório, consumível via URL raw por qualquer site.

contribuição: Projeto próprio, criado e mantido do zero. Integrado neste site com alternância automática entre as versões light/dark conforme o tema escolhido pelo usuário.

  • TypeScript
  • GitHub Actions

Depurar um bug de contraste entre as células vazias do SVG e o fundo do container me fez prestar mais atenção à diferença entre cor de fundo de página e cor de fundo de card ao reaproveitar assets de terceiros.

Gestor Educação

concluído

problema: A rede municipal de ensino de Macaíba/RN precisava de um app para gestores e educadores acompanharem turmas, atividades e desempenho de alunos, publicado e mantido oficialmente na Play Store.

solução: Desenvolvimento de ponta a ponta em Flutter, com arquitetura Clean-Dart e Flutter Modular, testes automatizados e CI/CD via GitHub Actions.

contribuição: Ownership técnico completo — desenvolvimento, aprovação, testes e publicação — durante a experiência na Datacom RN, aplicando boas práticas de S.O.L.I.D.

  • Flutter
  • Dart
  • Clean-Dart
  • Flutter Modular
  • GitHub Actions
  • BuildRunner

Nearby

concluído

problema: Encontrar cupons e ofertas relevantes por localização, num app iOS nativo com frontend e backend próprios.

solução: Frontend iOS em Swift/UIKit (ViewCode) com arquitetura MVVM-C, consumindo uma REST API própria via URLSession/async; backend em TypeScript com Prisma ORM, rodando em Docker.

contribuição: Projeto de estudo/portfólio, ponta a ponta — do app iOS ao backend que o alimenta.

  • Swift
  • UIKit
  • MapKit
  • MVVM-C
  • TypeScript
  • Prisma ORM
  • Docker

Scrumdinger

concluído

problema: Acompanhar reuniões rápidas (dailies) com um timer visual, alerta sonoro por participante e transcrição do que foi dito, num app que segue as Apple Human Interface Guidelines.

solução: App iOS em SwiftUI com transcrição de áudio via Speech Framework (SFSpeechRecognizer), persistência local em JSON e timer com alertas por participante.

contribuição: Projeto de estudo/portfólio, construído para aprofundar SwiftUI e frameworks nativos de áudio/fala da Apple.

  • Swift
  • SwiftUI
  • AVFoundation
  • SFSpeechRecognizer