01Contexto e problema
O trabalho de quem desenvolve e atende clientes fica espalhado entre muitas ferramentas: VS Code, terminal, Explorer, GitHub, WhatsApp, agenda, notas e um chat de IA em outra janela. Trocar de contexto o tempo todo custa atenção, e informações importantes (o que está pendente em cada projeto, qual cliente precisa de manutenção) acabam dispersas.
02Objetivo
Criar um único aplicativo que orquestre as ferramentas que já são usadas, em vez de tentar substituí-las, com três requisitos:
- Tudo local: banco no próprio PC, sem conta para criar.
- Seguro ao mexer em arquivos, rodar comandos e guardar tokens.
- IA útil no fluxo de trabalho, mas sem executar nada sem permissão.
03Solução desenvolvida
Um app desktop em Electron com módulos integrados: Início personalizável, Projetos (com status do Git, VS Code e terminal a um clique), Git visual, Terminal com abas, Automações, Tarefas, Agenda, Clientes, Marketing e um chat com Claude, OpenAI e Gemini que sugere comandos executáveis mediante confirmação.
A demonstração web incluída neste portfólio usa a interface real do app com APIs simuladas e dados fictícios, gerada por uma configuração de build própria (vite.demo.config.ts).
04Minha contribuição
Projeto pessoal que conduzi do início à publicação: definição das funcionalidades, arquitetura entre processos, interface, integrações, testes, instalador com atualização automática, site do produto e a arte em pixel (o mascote é desenhado em código, em site/pixel/pixel.mjs). Usei ferramentas de IA (Claude Code e Codex) como apoio na implementação e na revisão de código.
05Tecnologias e arquitetura
O app segue o modelo de processos do Electron com o renderer isolado. A interface nunca acessa Node.js diretamente: toda operação passa por uma API única exposta pelo preload.
06Principais funcionalidades
- Projetos e Git visual: tecnologias detectadas pelo
package.json, diff por arquivo, commit apenas do que for marcado, troca de branch bloqueada com alterações pendentes e push nunca com--force. - Terminal: xterm.js + node-pty com abas ou grade, abrindo PowerShell, CMD, Claude Code ou Codex na pasta do projeto.
- Automações: sequências de testes, lint e build com confirmação e indicação de risco de cada comando.
- IA: chat com vários modelos, anexos explícitos, prompts reutilizáveis e o “AI Council”, que consulta vários modelos e gera uma síntese.
- Backup e sincronização: backup local verificado e sincronização entre PCs por uma pasta na nuvem, cifrada com a senha do usuário.
- Gestão: tarefas em lista ou kanban, agenda com Google Agenda, clientes com manutenção mensal e quadro de marketing.
07Desafios técnicos e soluções
Deixar a IA sugerir comandos sem abrir uma brecha
Solução: a IA nunca executa nada sozinha. Cada comando sugerido passa por um diálogo com o nível de risco; os perigosos não podem ser marcados como “permitir sempre”. Os processos rodam com spawn, argumentos em array e shell: false, então a entrada do usuário nunca vira parte de um comando.
Acesso a arquivos sem expor o disco inteiro
Solução: o app só lê ou altera arquivos em pastas autorizadas no onboarding. Os caminhos são resolvidos tratando .., symlinks e junctions, e a raiz do disco, pastas do sistema e a home inteira não podem ser autorizadas.
Guardar tokens de várias integrações
Solução: segredos ficam apenas no cofre do Windows (safeStorage/DPAPI), nunca no banco, na interface ou nos logs, que têm redação automática. Backups e sincronização não levam chaves, e a cópia na nuvem é cifrada com AES-256-GCM.
Atualizar o app com segurança
Solução: atualizações vêm de uma origem fixa por HTTPS, com conferência de SHA-512 e sem downgrade, e um backup é feito antes de cada atualização.
Testar um app Electron de ponta a ponta
Solução: testes Vitest rodando dentro do Electron (segurança, banco, IPC, arquivos e integrações), um E2E que percorre a interface com APIs simuladas e um npm run check que junta typecheck, lint sem warnings e testes.
08Capturas e demonstração
Capturas da interface real, geradas a partir da demo com dados fictícios. A demo também pode ser aberta acima.




09Aprendizados e melhorias futuras
O Qyrex exigiu tratar segurança como requisito desde o início: isolamento de processos, validação em cada fronteira IPC e o princípio de que nenhuma ação sensível acontece sem confirmação. Também envolveu o ciclo completo de um produto desktop: instalador, migração de dados entre versões (o app se chamava QrzSpace) e atualização automática.
Próximos passos do roadmap
- Integração com a API oficial do WhatsApp Cloud para lembretes de cobrança.
- Criar e editar eventos do Google Agenda pelo app.
- Automações entre módulos, como criar uma tarefa ao publicar um conteúdo.
- Assinatura digital do instalador, que hoje pode gerar aviso do SmartScreen.
