dailyfocus
Foco do dia, tarefas, timer e reflexão num só app Next.js, sem distração
git clone https://github.com/fernando-moretes/app-dailyfocus.gitcerca de 4 min · áudio gerado ao tocar
O DailyFocus é um app de produtividade em Next.js e TypeScript que organiza o dia em quatro passos: escolher um foco, quebrar em tarefas, trabalhar em blocos cronometrados e fechar com uma reflexão curta.
Por que este repositório existe
A pergunta que me fez escrever o DailyFocus não foi "qual app de tarefas é melhor?", foi "por que termino o dia com a lista cheia de itens riscados e a coisa importante intocada?".
Lista de tarefas sozinha mede volume, não direção. Dez itens pequenos riscados parecem um dia produtivo e escondem que o único item que importava ficou para amanhã, de novo. O app inverte a ordem: primeiro você declara um foco para o dia, e só depois as tarefas aparecem, como desdobramento desse foco.
O segundo problema é a execução. Planejar é barato; o custo está nas interrupções entre um bloco de trabalho e outro. Por isso o timer de foco mora na mesma tela do plano, e não num app separado que você precisa lembrar de abrir.
O terceiro é o fechamento. Sem uma reflexão no fim do dia, o plano de amanhã repete os erros de hoje. A reflexão é curta de propósito: se custar mais que dois minutos, ninguém faz depois da primeira semana.
O repositório também cumpre outro papel: é um app pequeno, em produção em dailyfocus.moretes.com, com código público. Serve de referência para uma stack Next.js, TypeScript e Tailwind CSS publicada na Vercel sem cerimônia.
O que o app faz
Como um dia passa pelo app
O diagrama mostra o ciclo de uso, não infraestrutura pesada: o app é um front-end Next.js servido pela Vercel, e o valor está na ordem dos passos.
- DailyFocus · Next.js + TypeScript
- Foco do dia · Daily focus
- Tarefas · Tasks
- Timer de foco · Focus timer
- Reflexão · Reflection
Rodando localmente
- 1
Pré-requisitos
Node.js numa versão LTS recente e
pnpminstalado (corepack enableresolve na maioria das máquinas). Não há serviço externo a configurar para subir o app em modo de desenvolvimento. - 2
Clone pela URL atual
Use
git clone https://github.com/fernando-moretes/app-dailyfocus.gitecd app-dailyfocus. O README ainda mostrafernandofatech/dailyfocus, do tempo antes da migração para a organização; o GitHub redireciona, mas o nome da pasta muda. - 3
Instale as dependências
pnpm install. Usepnpm, nãonpm: o lockfile é do pnpm, e misturar gerenciadores produz árvore de dependências diferente da que roda em produção. - 4
Suba o servidor de desenvolvimento
pnpm deve abrahttp://localhost:3000(a porta padrão do Next.js, salvo se já estiver ocupada). - 5
Use o ciclo completo uma vez
Declare um foco, crie duas ou três tarefas, rode um bloco do timer e preencha a reflexão. É a forma mais rápida de entender o fluxo antes de abrir o código.
git clone https://github.com/fernando-moretes/app-dailyfocus.git
cd app-dailyfocus
pnpm install
pnpm devComo o código está organizado
O DailyFocus é um app Next.js em TypeScript com Tailwind CSS para estilo. Não há backend próprio documentado no README: o que existe é o front-end, publicado na Vercel sob o domínio dailyfocus.moretes.com.
As quatro funcionalidades (planejamento, timer, reflexão e a interface sem distração) mapeiam para componentes de tela, não para serviços separados. Essa escolha é deliberada: um app pessoal de produtividade não justifica API, banco gerenciado e fila. Cada peça de infraestrutura a mais é uma peça a mais para manter, atualizar e pagar por anos, e o problema que o app resolve cabe no navegador.
O TypeScript aqui não é enfeite. Num app pequeno, o tipo é a documentação que não envelhece: o formato de uma tarefa ou de uma sessão do timer fica explícito no código, e um refactor que quebra o contrato quebra no tsc, não na mão do usuário.
O README não detalha onde o estado do dia é guardado. Antes de assumir que seus dados persistem entre dispositivos, abra o código e confirme: app de foco que perde o plano no meio do dia é pior que não ter app.
URL do README desatualizada
O bloco "Getting Started" do README ainda clona fernandofatech/dailyfocus. O repositório mora hoje em fernando-moretes/app-dailyfocus. O redirecionamento do GitHub funciona, mas falha em silêncio no dia em que alguém criar um repositório novo com o nome antigo: use a URL nova em scripts e CI.
Limites honestos
O repositório tem zero estrelas e zero forks. Não é uma biblioteca com comunidade, é um app pessoal publicado com código aberto.
O roadmap do README é genérico: refactors contínuos, mais cobertura de testes e melhorias de documentação. Leia isso como está escrito: a cobertura de testes hoje não é o ponto forte, e o README não documenta uma suíte. Se você for usar o código como base para algo seu, rode pnpm build antes de qualquer mudança e trate o build verde como o mínimo, não como garantia.
Também não há, no que está documentado, sincronização entre dispositivos, integração com calendário ou conta de usuário. Se você precisa disso, o DailyFocus não é a ferramenta, e eu prefiro dizer agora a deixar você descobrir depois de migrar sua rotina.
Contribuições são bem-vindas pelo caminho de sempre: abra uma issue para discutir mudança grande antes do pull request. A licença é MIT.
Perguntas frequentes
Preciso de conta ou de credencial de nuvem para rodar?
Não para desenvolvimento local: pnpm install e pnpm dev bastam. A versão publicada roda em dailyfocus.moretes.com.
É um app de pomodoro?
O timer segue a ideia de blocos cronometrados, mas o app não é só o timer. O timer existe para executar um foco declarado antes, e a reflexão fecha o ciclo.
Posso fazer deploy da minha própria cópia?
Sim. É um app Next.js padrão sob licença MIT; importar o repositório na Vercel é o caminho mais curto, porque é onde a versão original roda.
Referências
Para quem é
Use o DailyFocus quando: você trabalha sozinho num mesmo dispositivo, quer um foco por dia em vez de uma lista infinita e prefere planejar, executar e refletir na mesma tela. Use o código como referência quando quiser um exemplo pequeno de Next.js, TypeScript e Tailwind CSS publicado na Vercel. Procure outra ferramenta se você precisa de sincronização entre dispositivos, trabalho em equipe ou integração com calendário: nada disso está documentado aqui.
Deep dives de arquitetura, AWS, IA e mercado: direto no seu email. Grátis.
Sem spam · cancele quando quiser