Ferramentas · No ar
Respira
Pare por alguns minutos. O resto espera.
App de meditação instalável: timer de 5 a 30 minutos (ou o seu), sinos suaves, lembretes, vídeos guiados e a sua prática por dia e por semana.
Sobre o projeto
O que é Respira
O Respira é um app de meditação feito para ser calmo desde o primeiro toque. Você escolhe 5, 10, 15 ou 30 minutos (ou o tempo que quiser, de 1 a 180), e o relógio desce enquanto um círculo acompanha a respiração. Ao começar e ao terminar, toca um sino suave, que sobe devagar e fica baixo, para não dar susto.
Ao abrir, uma frase do dia, a mesma do banco de 300 frases das Frases Motivacionais. A aba Prática conta quantas vezes você meditou hoje, nesta semana e nas últimas oito, sem pontos, sem sequência e sem cobrança. A biblioteca guiada reúne 18 vídeos do YouTube de 12 canais, em português, cada um com o crédito de quem o fez; o player só carrega quando você escolhe um.
É um PWA: dá para instalar na tela inicial e abrir sem internet. Os lembretes funcionam com o app fechado, por notificação (até quatro horários e os dias da semana que você escolher). Depois de meditar, um cartão para postar, em formato de Story, de feed ou quadrado, sai pelo menu de compartilhar do aparelho junto com o link do app.
Recursos
O que o Respira faz
Cinco tempos, um toque
Cinco, dez, quinze ou trinta minutos, ou o seu tempo de 1 a 180. O relógio desce, dá para pausar e, se a página recarregar no meio, a meditação continua de onde estava.
Sinos que não dão susto
Ao começar e ao terminar toca um sino sintetizado que sobe em um ou dois segundos e tem teto de volume baixo. Há controle de volume e dá para desligar.
Respiração guiada
Um círculo se abre e fecha no ritmo escolhido (suave, igual, caixa ou 4-7-8), com o texto Inspire, Segure e Expire. Com menos movimento ligado, só o texto muda.
Sua prática, sem cobrança
Quantas vezes por dia e por semana, em gráficos de 7 dias e de 8 semanas (cada um com versão em tabela) e um histórico que você apaga e desfaz. Nada de pontos nem sequência.
Lembretes com o app fechado
Até 4 horários por dia e os dias da semana que quiser, por notificação do navegador. Um botão envia um aviso de teste na hora.
Meditações guiadas
18 vídeos do YouTube em 6 temas, do respirar ao dormir, cada um com o canal à vista. Terminou um vídeo, ele entra na sua prática.
Cartão para compartilhar
Um cartão sereno com os seus minutos, em cinco temas e três formatos (Story, feed 4:5 e quadrado), compartilhado com o link do app pelo menu do aparelho.
Instalável e offline
Instale na tela inicial. O timer, a Prática e os ajustes abrem sem internet; a biblioteca e os lembretes precisam de conexão.
Seu histórico fica com você
As meditações ficam no IndexedDB deste navegador, com cópia em JSON e planilha CSV. O servidor só conta, de forma anônima, quantas meditações e minutos o Respira já teve.
Tecnologias
Por dentro do Respira
PWA com service worker
Manifesto com ícones, atalhos de 5, 10 e 15 minutos e das guiadas, e um service worker que guarda o app: a página vai à rede primeiro (com prazo) e cai no guardado, os arquivos com versão saem do guardado e as frases se atualizam por trás.
Relógio por horário de fim
A meditação guarda quando termina, e não quantos segundos passaram. Certo com a aba em segundo plano, depois de pausar e depois de recarregar. O sino do fim é agendado no relógio do áudio, que não atrasa com a aba escondida.
Sinos em Web Audio
Cada sino é uma soma de três ondas sem arquivo de áudio, com envelope de zero a zero (sem estalo), filtro que corta os agudos e teto de volume. O teste mede pico, tempo de subida e estalos de cada som sem alto-falante.
Web Push sem biblioteca
O servidor cifra a mensagem (RFC 8291) e assina a chamada (VAPID, RFC 8292) só com o módulo crypto do Node, provado byte a byte contra o exemplo do RFC. Só fala com os serviços de push conhecidos, por HTTPS, sem seguir redirecionamentos.
IndexedDB e dias como texto
O histórico mora numa gaveta do IndexedDB, com plano B em memória e aviso. Um dia é um texto AAAA-MM-DD no fuso do aparelho, e a semana vai de segunda a domingo.
Gráficos em SVG
Barras desenhadas à mão, sem biblioteca, cada uma com a tabela equivalente para leitor de tela.
Cartão em canvas e Web Share API
O cartão é desenhado num canvas, determinístico e com margens de segurança do Instagram. A imagem é preparada antes do toque para o menu de compartilhar abrir dentro do gesto da pessoa.
lite-youtube-embed
A biblioteca de Paul Irish entrega o player do YouTube só quando um vídeo é escolhido, como no Wave Radio. Os arquivos ficam no próprio servidor, em public/vendor.
O banco das Frases
A frase ao abrir usa o mesmo banco e a mesma conta da API de Frases (a frase do dia daqui é a de /api/frases/today), baixada do site e guardada pelo service worker, sem gastar o limite da API.
FAQ
Perguntas frequentes
Onde ficam as minhas meditações?
No IndexedDB do seu navegador, neste aparelho. Limpar os dados do site apaga tudo, por isso há o botão de cópia de segurança em Prática. Para levar a outro aparelho, baixe a cópia e restaure lá.
O que conta como uma meditação?
Uma sessão que durou pelo menos 1 minuto. Se você encerrar antes do fim, o que meditou fica registrado, como "encerrada antes". Menos de 1 minuto não entra na contagem.
O som do começo e do fim pode me dar susto?
Foi feito para não dar: o sino sobe devagar, tem volume baixo e sem agudos. Mesmo assim cada pessoa ouve de um jeito: o volume tem controle e os sinos podem ser desligados em Ajustes.
Como funcionam os lembretes com o app fechado?
Você liga em Ajustes, escolhe os horários e os dias, e o navegador pede permissão para notificar. No horário, o servidor manda o aviso pelo serviço de notificações do navegador. Para isso guardamos o endereço de envio do aparelho, as chaves dele, os horários, os dias e o fuso; nada de nome, e-mail ou histórico. Desligar apaga tudo.
Por que no iPhone preciso instalar o app?
O iPhone e o iPad só entregam notificações de sites instalados na tela inicial: toque em Compartilhar e em Adicionar à Tela de Início, e abra o Respira por lá.
Funciona sem internet?
O timer, a Prática e os ajustes sim, depois da primeira visita. A biblioteca de vídeos e os lembretes precisam de internet.
Os vídeos guiados são seus?
Não. São de terceiros, tocam pelo player do YouTube e cada um mostra o nome do canal e o link para assistir lá. O Respira não tem relação com esses canais.
Por que não tem sequência de dias nem pontos?
Meditar não deveria virar mais uma cobrança. O Respira só conta quantas vezes você meditou, por dia e por semana.
O que o servidor guarda?
Contadores anônimos (meditações, minutos, vídeos abertos, cartões, instalações) e, só se você ligar os lembretes, a inscrição de notificações com os horários. O histórico, o que você meditou e quando, não sai do seu navegador. Nada é enviado com Não rastrear ligado.
Gostou do Respira? 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