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

  • 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

Um foco por dia, tarefas, timer e reflexão: produtividade sem painel de controle

Atualizado em 29 de set. 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

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

Planejamento diário: você define o foco do dia antes de abrir qualquer outra coisa, e quebra esse foco em tarefas executáveis.
Timer de foco: sessões de trabalho cronometradas, na linha do Pomodoro (o repositório usa o tópico pomodoro).
Reflexão de fim de dia: um fechamento curto sobre o que andou e o que travou, para o dia seguinte começar com informação e não com culpa.
Interface sem distração: a tela mostra o foco, as tarefas e o timer. O que não serve ao próximo bloco de trabalho fica de fora.
Stack enxuta: Next.js, TypeScript e Tailwind CSS, publicada na Vercel, licença MIT.

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.

💻 Navegador: DailyFocus
  • Planejamento · foco do dia
  • Tarefas · foco quebrado
  • Timer de foco · sessões cronometradas
  • Reflexão · fechamento do dia
▲ Vercel: hosting
  • Next.js build · dailyfocus.moretes.com
🔧 GitHub: código
  • 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. 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. 2

    Clone o repositório

    git clone https://github.com/fernando-moretes/app-dailyfocus.git e depois cd app-dailyfocus. Use o endereço novo da organização, não o do README antigo.

  3. 3

    Instale as dependências com pnpm

    pnpm install. O projeto usa pnpm; misturar com npm install gera um segundo lockfile e versões divergentes.

  4. 4

    Suba o servidor de desenvolvimento

    pnpm dev e abra o endereço que o Next.js imprimir no terminal (por padrão http://localhost:3000).

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

Quickstart local
bash
# 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:3000

O 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

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

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.

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