Pular para o conteúdo
fernando.moretes.com
BlogEstudosCursosE-booksOpen SourcePodcasts
Loading…
Fernando Azevedo

Arquiteto de TI Especialista

Arquitetura, AWS, IA em produção, sistemas financeiros e FinOps, escritos a partir do que foi operado, com os números.

  • LinkedIn
  • GitHub
  • E-mail

Conteúdo

  • Blog
  • Estudos de arquitetura
  • Cursos
  • E-books
  • Open Source
  • Podcasts
  • Assuntos
  • Trilhas

Ferramentas

  • Moretes Architect MCP
  • Well-Architected self-check
  • Arquitetura deste site
  • Números públicos
  • Histórico de estudo

Sobre

  • Comunidade
  • IA Builder
  • Perfil
  • Currículo (CV)
  • Trabalhe comigo
  • Media kit
  • RSS do blog
  • RSS dos estudos
  • Artigos narrados (podcast)
  • llms.txt
  • Termos, privacidade e uso de IA

(c) 2026 Fernando Francisco Azevedo

Open Source/dailyfocus
TypeScript

dailyfocus

Foco do dia, tarefas, timer e reflexão num só app Next.js, sem distração

Atualizado em 16 de out. de 2026000 visualizações00 reproduções
Compartilhar:LinkedInWhatsAppXBaixar em Markdown
#focus#moretes#nextjs#pomodoro#portfolio#productivity#tasks#typescript#vercel
Ver no GitHub Site
git clone https://github.com/fernando-moretes/app-dailyfocus.git
Ouvir guia

cerca 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

Planejamento diário: um foco declarado no topo, tarefas como desdobramento dele.
Timer de foco: blocos de trabalho cronometrados no estilo pomodoro, na mesma tela do plano.
Reflexão de fim de dia: um fechamento curto que alimenta o plano do dia seguinte.
Interface sem distração: nada de feed, notificação ou métrica de vaidade competindo com o foco.
Stack enxuta: Next.js, TypeScript e Tailwind CSS, licença MIT.

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.

▲ Vercel: hosting
  • DailyFocus · Next.js + TypeScript
🔧 Ciclo do dia / Daily loop
  • Foco do dia · Daily focus
  • Tarefas · Tasks
  • Timer de foco · Focus timer
  • Reflexão · Reflection

Rodando localmente

  1. 1

    Pré-requisitos

    Node.js numa versão LTS recente e pnpm instalado (corepack enable resolve na maioria das máquinas). Não há serviço externo a configurar para subir o app em modo de desenvolvimento.

  2. 2

    Clone pela URL atual

    Use git clone https://github.com/fernando-moretes/app-dailyfocus.git e cd app-dailyfocus. O README ainda mostra fernandofatech/dailyfocus, do tempo antes da migração para a organização; o GitHub redireciona, mas o nome da pasta muda.

  3. 3

    Instale as dependências

    pnpm install. Use pnpm, não npm: o lockfile é do pnpm, e misturar gerenciadores produz árvore de dependências diferente da que roda em produção.

  4. 4

    Suba o servidor de desenvolvimento

    pnpm dev e abra http://localhost:3000 (a porta padrão do Next.js, salvo se já estiver ocupada).

  5. 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.

Quickstart em quatro comandos
bash
git clone https://github.com/fernando-moretes/app-dailyfocus.git
cd app-dailyfocus
pnpm install
pnpm dev

Como 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

GitHub: fernando-moretes/app-dailyfocusDailyFocus (live)Next.js documentationTailwind CSS documentation

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.

Curte open source e arquitetura? Receba mais.

Deep dives de arquitetura, AWS, IA e mercado: direto no seu email. Grátis.

Sem spam · cancele quando quiser

Guia gerado com IA a partir do repositório e do README. · Fonte

Continue lendo

TypeScriptqueue-advisor-pricing-appCompare custo e encaixe de SQS, Kinesis, EventBridge e MSK antes de decidirLer Shellsetup-macos-developerSetup de Mac para desenvolvimento em Shell: o mesmo ambiente, em toda máquina novaLer HTMLsolution-architecture-mcp-toolkitADR, Well-Architected e threat model como ferramentas que um agente de IA chamaLer