Eu escrevi meu próprio gerenciador de tarefas (e uso todo dia)
Índice
Eu tenho um problema com organização. Não o tipo de problema que se resolve comprando um planner bonito ou assinando mais um app de produtividade — já tentei os dois. O meu problema é mais específico: eu lido com dezenas de tarefas simultâneas, distribuídas entre projetos diferentes, com prazos que variam de “precisa ser feito agora” a “um dia, quem sabe.”
Nenhuma ferramenta que eu encontrei conseguia acomodar essa variação sem me forçar a trabalhar do jeito dela em vez do meu.
Quem trabalha com infraestrutura e suporte técnico sabe como é. Num mesmo dia, eu posso precisar renovar um certificado SSL, investigar por que um servidor de e-mail caiu numa blocklist, responder a um chamado de cliente e ainda lembrar que semana que vem tem uma reunião recorrente que exige preparação. Algumas dessas coisas têm hora marcada. Outras têm prazo, mas flexível. Outras não têm prazo nenhum — só não podem ser esquecidas. E em todas essas categorias, sem o sistema certo, as coisas escapam.
O que eu tentei
Calendários
Minha primeira tentativa foi o Google Calendar. Faz sentido — é gratuito, sincroniza em tudo e todo mundo usa. O problema é que calendários foram feitos para compromissos com hora marcada: reuniões, consultas, eventos. Quando você tenta enfiar tarefas ali dentro, acaba criando “eventos” fictícios que ocupam blocos de tempo que não existem de verdade. O calendário vira uma ficção bem colorida do seu dia, e em pouco tempo você para de confiar nele. O mesmo vale para o Calendário da Apple e qualquer outro app de agenda — são ferramentas excelentes para coordenar horários com outras pessoas, mas péssimas para gerenciar o que você precisa fazer sozinho.
Ferramentas de terminal
Depois tentei o TaskWarrior, que é o queridinho de quem vive no terminal. É poderoso, configurável e tem uma comunidade ativa. Mas justamente por tentar ser tudo para todas as pessoas, a curva de aprendizado é íngreme e a configuração inicial parece um projeto à parte. Eu queria uma ferramenta que trabalhasse para mim, não uma ferramenta que eu precisasse aprender a domar.
O resto todo
Passei por outras soluções ao longo do tempo — Todoist, Notion, Trello, aplicativos que nem lembro mais o nome. Cada uma resolvia uma parte do problema e criava três novos. Ferramentas pagas trazem um incômodo adicional: os dados são delas, não seus. Se a empresa muda o plano, aumenta o preço ou simplesmente fecha, você perde tudo — ou fica refém. Para quem trabalha com tecnologia, depender de um serviço de terceiros para organizar o próprio trabalho tem um sabor amargo de ironia.
A decisão
Em algum momento ficou claro que o problema não era encontrar a ferramenta certa — era que a ferramenta certa não existia. Ou melhor, não existia ainda. Eu sou programador, trabalho com servidores, automação e infraestrutura. Tenho as ferramentas e o conhecimento para construir exatamente o que preciso. Por que estava tentando encaixar meu fluxo de trabalho dentro de algo que outra pessoa desenhou para resolver o problema sei lá de quem?
A resposta, claro, é que escrever software dá trabalho. E existe sempre aquela voz dizendo que é reinvenção da roda, que alguém já resolveu isso, que é só questão de encontrar o app certo. Mas depois de anos tentando, a voz que venceu foi outra: “você sabe fazer isso — então faça”.
E assim nasceu o FUQU.
O FUQU por dentro
O dashboard
O FUQU vive no terminal — mais especificamente, numa aba do iTerm que fica sempre aberta. Ao iniciar, ele exibe um painel com tudo o que eu preciso ver: as tarefas organizadas por prazo e por projeto, com indicação visual de prioridade. Não há menus para navegar, não há telas de boas-vindas, não há distrações. Abriu, está tudo ali.
Tarefas
Adicionar uma nova tarefa é apertar a tecla “a”. Um formulário se abre, eu preencho o que preciso — descrição, projeto, prioridade, prazo — e o painel se atualiza imediatamente. Sem salvar arquivo, sem sincronizar com a nuvem, sem esperar. A tarefa aparece no lugar certo, ou não aparece se o prazo ainda está longe e eu configurei para ela só surgir com determinada antecedência.
Cada tarefa pode ser concluída, adiada ou eliminada com uma tecla. Tarefas recorrentes — aquelas que acontecem toda semana, todo mês, ou em qualquer intervalo que eu definir — se regeneram automaticamente após serem concluídas. Posso decidir com quantos dias de antecedência elas devem aparecer no dashboard, para que não poluam a tela antes da hora.
Inteligência artificial
Toda vez que abro o FUQU, um modelo de IA analisa as tarefas do dia e me sugere uma ordem de execução. Não é um plano rígido — é uma sugestão fundamentada que leva em conta prazos, prioridades e o volume de trabalho. Funciona como ter alguém olhando por cima do ombro e dizendo “se eu fosse você, começaria por aqui.”
Esse mesmo mecanismo alimenta uma mensagem automática que chega pelo Telegram de madrugada. Quando acordo e pego o celular, antes de abrir qualquer outra coisa, já tenho o quadro geral do dia. Saber o que me espera antes de sentar na frente do computador faz mais diferença do que eu imaginava.
Relatórios
No fim da semana — ou do período que eu escolher — o FUQU gera um relatório de tudo o que foi feito. A IA transforma a lista crua de tarefas concluídas num texto coerente, organizado por projeto, com linguagem adequada para uma prestação de contas. Isso é útil tanto para reportar ao time quanto para eu mesmo ter uma noção de alto nível do que produzi. Sem o relatório, a sensação no fim da semana costuma ser “trabalhei muito mas não sei no quê” — com ele, a resposta fica clara.
O problema resolvido
Lembra das três categorias de tarefas do começo? As com hora marcada, as com prazo flexível e as que não podem ser esquecidas? O FUQU resolve as três sem fingir que são a mesma coisa. Tarefas com prazo aparecem no dashboard quando é hora de pensar nelas — nem antes, nem depois. Tarefas recorrentes se regeneram sozinhas, sem depender da minha memória. E aquelas tarefas sem prazo, as que viviam se perdendo entre abas de navegador e notas soltas, agora têm um lugar próprio, visível, organizado por projeto.
Nenhum dado está numa nuvem que não é minha. Tudo vive num banco SQLite local, que eu posso copiar, versionar e consultar como quiser. A interface é o terminal que eu já uso o dia inteiro — não preciso abrir outro aplicativo, outra aba, outro contexto mental. E a inteligência artificial, em vez de tentar substituir meu julgamento, funciona como um resumo rápido que me poupa os primeiros minutos do dia tentando decidir por onde começar.
Não é uma ferramenta para todo mundo. É uma ferramenta para mim. E talvez essa seja a lição mais útil de todo esse processo: às vezes a melhor solução não é a que tem mais estrelas no GitHub ou a que aparece primeiro na busca — é a que você constrói sabendo exatamente o que precisa.
Para quem quer saber como funciona por baixo
O FUQU é escrito em Python. A interface de terminal usa a biblioteca Textual, que permite construir dashboards, formulários e tabelas interativas sem sair do terminal — quem já usou o Claude Code sabe do que estou falando. TUIs estão cada vez mais populares, e com razão: são leves, rápidas e vivem no mesmo ambiente onde a maior parte do trabalho já acontece.
Os dados ficam num banco SQLite — um único arquivo, sem servidor, sem dependências externas. Fácil de copiar, fácil de versionar, fácil de consultar diretamente se necessário. Para quem já teve que migrar dados de um serviço para outro, a simplicidade de um arquivo que você controla é libertadora.
A inteligência artificial usa a API do Cerebras como provedor principal, com fallback para uma instância local do LM Studio quando o serviço externo não está disponível. Essa redundância garante que o briefing diário e os relatórios nunca deixem de ser gerados — a pior coisa que uma automação pode fazer é falhar silenciosamente.
O alerta matinal no Telegram é disparado via API oficial do Telegram Bot, agendado pelo launchd do macOS. Quem quiser entender melhor como o launchd funciona como substituto do cron, escrevi sobre isso neste post.