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:

Continue explorando

Veja também

Todos os projetos