dailyfocus
Um foco por dia, tarefas, timer e reflexão: produtividade sem painel de controle
git clone https://github.com/fernando-moretes/app-dailyfocus.gitcerca de 4 min · áudio gerado ao tocar
DailyFocus é um app web em Next.js e TypeScript que organiza o dia de trabalho em quatro movimentos: escolher um foco, quebrá-lo em tarefas, executar em blocos cronometrados e fechar o dia com uma reflexão curta.
Por que este repositório existe
A pergunta que a maioria das ferramentas de produtividade tenta responder é 'como organizar tudo o que eu tenho para fazer?'. A pergunta que eu queria responder é outra: o que eu faço nos próximos 25 minutos, e isso serve ao foco de hoje?
Ferramentas com projetos, etiquetas, prioridades em cinco níveis e integrações viram, elas mesmas, um sistema a ser mantido. O custo não aparece no dia em que você instala, aparece na revisão semanal de quarenta tarefas que ninguém vai fazer, no backlog pessoal que cresce mais rápido que a capacidade de executar. Esse é o mesmo custo de manutenção que eu vejo em arquitetura: o que pesa não é construir, é manter funcionando por anos.
O DailyFocus recusa esse caminho de propósito. O escopo é um dia. O dia tem um foco. O foco vira tarefas, as tarefas viram sessões cronometradas, e o dia termina com uma reflexão que fecha o ciclo em vez de empurrar pendência para amanhã sem olhar.
O repositório também cumpre um segundo papel: é uma das aplicações publicadas sob o domínio moretes.com, com código público, para mostrar uma aplicação Next.js pequena, em produção na Vercel, com escopo que cabe na cabeça de quem vai mantê-la.
O que o app faz
pomodoro).Como o dia passa pelo app
O diagrama mostra o ciclo de uso e onde o app roda. O código sai do GitHub, a Vercel publica, e o uso inteiro acontece no navegador, seguindo as quatro etapas do dia.
- Planejamento · foco do dia
- Tarefas · foco quebrado
- Timer de foco · sessões cronometradas
- Reflexão · fechamento do dia
- Next.js build · dailyfocus.moretes.com
- app-dailyfocus · TypeScript
Como o ciclo funciona na prática
Planejamento: o dia começa por uma decisão, não por uma lista. Você escreve o foco, a coisa que, se andar, faz o dia ter valido. Só depois quebra o foco em tarefas. A ordem importa: começar pela lista transforma o dia em triagem de pendências, começar pelo foco transforma a lista em consequência.
Execução: cada tarefa vai para o timer. Trabalho em bloco cronometrado tem duas vantagens que eu valorizo mais que qualquer técnica de motivação. A primeira é que o bloco tem fim, então a interrupção pode esperar. A segunda é que ao fim do dia você tem uma medida concreta, número de sessões, no lugar de uma sensação de 'trabalhei muito'.
Reflexão: o fechamento é curto de propósito. O que andou, o que travou, o que muda amanhã. Sem esse passo, o planejamento do dia seguinte repete os erros do anterior, porque ninguém olhou para eles.
Interface: a regra de produto é simples: se um elemento da tela não ajuda o próximo bloco de trabalho, ele não entra. Isso limita o app, e o limite é a feature.
Instalar e rodar localmente
- 1
Use o app publicado, se só quer usar
Abra https://dailyfocus.moretes.com. Não há nada para instalar para usar o app.
- 2
Clone o repositório
git clone https://github.com/fernando-moretes/app-dailyfocus.gite depoiscd app-dailyfocus. Use o endereço novo da organização, não o do README antigo. - 3
Instale as dependências com pnpm
pnpm install. O projeto usa pnpm; misturar comnpm installgera um segundo lockfile e versões divergentes. - 4
Suba o servidor de desenvolvimento
pnpm deve abra o endereço que o Next.js imprimir no terminal (por padrãohttp://localhost:3000). - 5
Valide antes de publicar um fork
Rode o build de produção do Next.js antes de conectar o fork à Vercel. Erro de tipo que o modo dev tolera derruba o build lá.
# clone (new organization URL)
git clone https://github.com/fernando-moretes/app-dailyfocus.git
cd app-dailyfocus
# install and run
pnpm install
pnpm dev
# open http://localhost:3000O README ainda aponta para o endereço antigo
O README manda clonar fernandofatech/dailyfocus. O repositório migrou para fernando-moretes/app-dailyfocus. O GitHub redireciona o clone, então o comando antigo funciona, mas cria uma pasta dailyfocus em vez de app-dailyfocus e o origin fica dependente de um redirecionamento que pode deixar de existir. Clone pelo endereço novo.
Stack e o que ela diz sobre o projeto
Next.js: o app é uma aplicação Next.js publicada na Vercel. Para um produto deste tamanho, isso significa deploy por push, preview por branch e nenhuma infraestrutura para eu operar.
TypeScript: o domínio é pequeno, foco, tarefa, sessão, reflexão, e é justamente por ser pequeno que vale tipar. Erro de forma de dado num app de uma tela aparece como timer que não para ou tarefa que some, e o compilador pega isso antes do usuário.
Tailwind CSS: a interface sem distração é, em boa parte, uma decisão de CSS. Utilitário inline mantém o visual perto do componente e evita uma folha de estilo global que cresce sem dono.
O que o README não promete: não há backend, banco de dados nem conta de usuário listados. Não vou afirmar onde o estado do dia é guardado sem você conferir no código; se sincronizar entre dispositivos é requisito seu, leia o código antes de adotar. O roadmap lista expandir a cobertura de testes, o que é um sinal honesto: trate o projeto como app em evolução, não como biblioteca estável.
Perguntas frequentes
Preciso instalar algo para usar?
Não. O app está publicado em https://dailyfocus.moretes.com. Clonar só faz sentido para estudar o código, contribuir ou rodar um fork.
Ele substitui um gerenciador de tarefas completo?
Não, e não tenta. Ele cobre o dia, não o trimestre. Use junto de onde mora o seu backlog, e traga para o DailyFocus só o que entra no foco de hoje.
Posso usar o código em outro projeto?
Sim, a licença é MIT. Mantenha o aviso de licença.
Como contribuo?
Abra uma issue antes de uma mudança grande, como o README pede. PR pequeno e focado entra mais rápido que refatoração ampla sem conversa prévia.
Referências
Para quem é
Use o DailyFocus quando o seu problema não é falta de lista, é excesso dela: você sabe o que precisa fazer, mas o dia se dissolve em troca de contexto. Ele funciona melhor para quem aceita a restrição de um foco por dia e quer medir o dia em sessões, não em sensação. Se você precisa de projetos, colaboração em equipe ou sincronização garantida entre dispositivos, este não é o app, e o README não promete nada disso. Para quem estuda Next.js, o repositório é um exemplo útil exatamente pelo tamanho: uma aplicação pequena, tipada e em produção, cujo escopo cabe numa leitura de tarde.
Deep dives de arquitetura, AWS, IA e mercado: direto no seu email. Grátis.
Sem spam · cancele quando quiser