Ferramentas · No ar (PWA)
MoodTracker
Veja como o seu dia mexe com o seu humor e a sua atenção.
Painel de humor e atenção pela câmera: expressões, olhos, pausas e postura ao longo do dia. O vídeo é analisado no seu aparelho; nada é gravado nem enviado.
Sobre o projeto
O que é MoodTracker
O MoodTracker é um painel pessoal de humor e atenção. Com a câmera ligada, ele olha para o seu rosto de tempos em tempos (a cada 10 segundos, ou 8, 15, 30, 60, como você escolher), estima qual das 7 expressões aparece e mede os olhos, a boca e a direção da cabeça. No painel isso vira um índice de humor de 0 a 10, a expressão que mais apareceu, o tempo na frente da tela, as pausas, a atenção e os padrões por hora e por dia da semana.
O vídeo é analisado inteiro no seu aparelho, dentro do navegador. Nenhum quadro é gravado nem enviado: o que fica guardado é um resumo por hora (contagens e médias), no armazenamento do navegador. Você pode baixar esses resumos ou apagar tudo quando quiser.
São estimativas. Reconhecer uma expressão no rosto não é o mesmo que saber como a pessoa se sente, e a leitura depende de luz, distância e posição. Por isso cada leitura passa por um filtro de qualidade, e há uma calibração que ajusta os limites ao seu rosto. O painel não é um diagnóstico e não substitui a avaliação de um profissional.
Recursos
O que o MoodTracker faz
Humor, de 0 a 10
Um índice que começa em 5, sobe com feliz e surpreso e desce com triste, irritado, nojo e medo. Cada número vem com a diferença para o período anterior (ontem, ou os 7 ou 30 dias antes).
Um painel de verdade
Indicadores do período, expressões ao longo do dia, humor por dia da semana e hora, presença por hora e o que os números sugerem. Todo gráfico tem uma tabela equivalente.
A câmera não grava
O vídeo só existe na tela do seu aparelho. Nenhuma imagem é gravada, guardada ou enviada: o que fica é uma linha por hora, com contagens e médias.
Calibração de 20 segundos
Mede a abertura dos seus olhos e da sua boca e o que o seu rosto mostra em repouso. Os limites de olhos fechando e de bocejo passam a ser os do seu rosto, e o painel pode ajustar as médias ao seu normal.
Leituras filtradas
Cada leitura é uma rajada de 3 quadros: um piscar isolado não vira "olhos fechando". Pouca luz, rosto longe, pouco nítido ou virado ficam fora das médias, e o painel diz quantas leituras foram boas e por que as outras não foram.
Pausas e tempo na frente da tela
Soma o tempo com rosto à vista, conta as pausas de 5 minutos ou mais longe da tela e mostra o maior tempo seguido sem pausa.
Olhos, boca e postura
Olhos quase fechados por um tempo, bocejos, rosto virado, perto demais da tela e inclinação da cabeça. Se você ligar, também conta piscadas por minuto e a mão perto da boca (estimativas).
Instale e use sem internet
É um app instalável (PWA): o detector de rosto e os modelos (cerca de 1,3 MB) ficam guardados e o app abre e analisa sem conexão. O detector de mão (12,8 MB) só é baixado se você o ligar.
Os dados são seus
Baixe os resumos em JSON ou CSV, escolha por quanto tempo guardar (30, 90, 365 dias) e apague tudo com um toque.
Tecnologias
Por dentro do MoodTracker
face-api.js
Detecta o rosto, marca os pontos dos olhos, da boca e do nariz e estima as expressões, tudo no navegador. A versão e os modelos são fixos e conferidos por soma de verificação (npm run moodtracker:vendor).
MediaPipe Hands
Opcional: acha a mão para saber se ela está perto da boca. Só é baixado quando você liga a opção.
Resumos por hora no IndexedDB
Em vez de uma leitura a cada poucos segundos, o app soma tudo em uma linha por hora. O banco fica pequeno, o painel é instantâneo e nenhuma leitura individual existe para vazar.
Gráficos em SVG, sem biblioteca
Linhas e células desenhadas à mão, com cores validadas para os dois temas e para daltonismo, dica por ponteiro e teclado e tabela equivalente.
Regras puras e testadas
As contas do rosto, da calibração, das piscadas, da mão e das estatísticas não tocam em câmera nem em tela e rodam iguais no Node, onde são testadas com uma câmera de mentira e relógio falso.
PWA com service worker
Manifesto, ícones, telas de abertura do iPhone e um service worker que guarda a página, os módulos e os modelos de rosto para funcionar sem internet.
Node, Express e Eta
A mesma base do resto do portfólio, sem etapa de build. O servidor entrega a página e conta, de forma anônima, as ações.
FAQ
Perguntas frequentes
Meu vídeo vai para algum lugar?
Não. A câmera abre só no seu navegador, a análise acontece no seu aparelho e nenhuma imagem é gravada ou enviada. O servidor só recebe o nome de uma ação, numa lista fechada, para os números abertos (e nada com Não rastrear).
O que fica guardado?
Uma linha por hora, no armazenamento do navegador deste aparelho: quantas leituras houve, a soma de cada expressão, os olhos, o rosto virado, a mão perto da boca, as pausas. Não há foto, vídeo nem leitura individual. Dá para baixar tudo em JSON ou CSV e para apagar com um toque.
Isso diz como eu realmente me sinto?
Não. O app estima qual expressão o seu rosto mostra, e a expressão nem sempre combina com o que a pessoa sente. Use como um termômetro de tendência ao longo dos dias, nunca como diagnóstico. Quem se preocupa com a própria saúde emocional deve procurar um profissional.
Para que serve a calibração?
Em 20 segundos o app mede como é o seu rosto em repouso: a abertura dos olhos e da boca e o que ele mostra sem emoção. Com isso, os limites de "olhos fechando" e de bocejo passam a ser os seus, e a opção "Ajustar ao meu normal" tira das médias o que o seu rosto já mostra em repouso. Sem calibrar, valem limites iguais para todo mundo. A calibração não foi validada com rostos de verdade.
Por que algumas leituras são ignoradas?
Leituras com pouca luz, rosto longe da câmera, detecção pouco nítida ou rosto muito virado têm expressões e olhos pouco confiáveis, então ficam fora das médias. O painel mostra a porcentagem de leituras boas e o principal motivo das outras.
O app reconhece idade ou gênero?
Não. A extensão que deu origem ao app estimava os dois, mas estimar gênero pelo rosto é pouco confiável e o painel não precisa disso, então este app não faz.
Como funcionam as piscadas e a mão perto da boca?
São opcionais e ficam desligadas. As piscadas são contadas em janelas de 10 segundos, uma por minuto, e tendem a ser subestimadas: compare com a sua própria taxa em outros dias. A mão perto da boca não distingue roer unha de beber, comer ou coçar o rosto.
Funciona com a janela em segundo plano?
Você escolhe nos ajustes. Como o navegador pode reduzir a câmera de uma janela escondida, isso não foi testado em aparelhos reais: se as leituras ficarem escuras ou sumirem, deixe a janela visível, por exemplo num segundo monitor.
E se houver mais de uma pessoa na imagem?
O app lê um rosto por vez: o que o detector achar mais nítido. Para um painel confiável, use sozinho.
Em quais navegadores funciona?
Foi desenvolvido e testado no Chrome do computador, com uma câmera simulada. Safari, Firefox e celulares não foram testados.
Funciona sem internet? É grátis?
Depois da primeira visita, sim: a página e o detector de rosto ficam guardados no aparelho. É grátis, sem cadastro e sem limite de uso, porque o trabalho é feito no seu aparelho.
Gostou do MoodTracker? Dá para apoiar o trabalho: Me pague um café
Continue explorando
Veja também
Mercado Helper
Listas de compras para usar no celular: adicione vários itens de uma vez, marque com um toque e, se quiser, informe preço e quantidade para ver o total.
Ver projeto No arShareSoFast
Compartilhe um arquivo de até 25 MB por um link curto, com senha e uma carta opcional. Depois de 1 dia, tudo é apagado de verdade.
Ver projeto No arRec2Link
Grave a tela, o áudio, os dois ou só a webcam direto no navegador. O arquivo é comprimido aí mesmo, ganha um link curto e é apagado sozinho em 24 horas.
Ver projeto