Pular para o conteúdo
Memoir

Ferramenta de gravação, transcrição e resumo de reunião

  • AI Product Builder
  • Product Design
  • UI/UX Design
  • Do PRD ao produto em 7 dias
Interface do Memoir: agenda de reuniões com o resumo do encontro selecionado

Testei os assistentes de reunião do mercado e todos prendiam a transcrição na ferramenta. Eu queria a reunião virando um .md na minha pasta, e por isso desenhei e construí um app que grava, transcreve e resume dentro do próprio Mac.

Em resumo

Eu documento meu dia no Obsidian. Nos assistentes que testei, o histórico vivia no serviço e o resumo por IA só vinha com assinatura. Não queria um produto novo para guardar minhas reuniões: queria um arquivo meu, em texto, que continuasse legível mesmo se eu desinstalasse o app.

O Memoir grava o microfone e o som da chamada, escreve a transcrição depois da reunião e gera assuntos, decisões e próximos passos. Os três modelos (transcrição, transcrição ao vivo e resumo) rodam no Mac, e a nota vai para a pasta que eu escolher. Terminada a instalação, funciona com a internet desligada.

Fiz o produto inteiro sozinha: decisões de escopo, interface, sistema de design no Figma e o código do app em Electron. Hoje ele está na versão 0.30.0, de uso pessoal, ainda sem distribuição pública.

Meu papel

  • Product design
  • UI/UX
  • Design system
  • Front-end
  • App desktop
  • IA local

Ferramentas

  • Electron
  • React
  • TypeScript
  • Vite
  • Figma
  • Whisper
  • Obsidian
Time
Projeto individual
Andamento
Desde 26/08/2026 · versão 0.30.0 em 13/09/2026
Plataforma
Aplicativo nativo para macOS, em Apple Silicon
Natureza
Uso pessoal, ainda sem distribuição pública

Resultados

  • +44%

    Mais contraste no texto secundário

    De 3,55:1 para 5,12:1 sobre a superfície do tema escuro, acima dos 4,5:1 que a norma WCAG pede. Medido na auditoria de 29/08/2026.

    Medido
  • −69%

    Menos degraus de tamanho de fonte

    De 16 tamanhos, com passos de 1px, para 5: 12, 14, 16, 20 e 34. O piso passou de 8px para 12px.

    Medido no código
  • 0

    Áudios apagados sem estarem transcritos

    A retenção de 15 dias só vale para reunião pronta. Antes, uma reunião que falhou perdia o áudio, a única cópia, no 15º dia.

    Regra do app
Agenda do Memoir: reuniões dos próximos sete dias agrupadas por dia, com o resumo da reunião de hoje e o botão de entrar e gravar
Agenda: o que vem pela frente e um botão para entrar e gravar.
Reunião pronta: título editável, data, duração, participantes, abas de Resumo, Notas e Transcrição, e a transcrição quebrada em frases com horário
A nota da reunião, com a transcrição em frases.
Tela de gravação: título da reunião, cronômetro, onda de áudio, botões de pausar e encerrar, abas de Notas, Transcrição e Resumo e o campo de anotações
Gravando, com as anotações ao lado.

Um app que não pede nada além do Mac

O Memoir nasceu de um incômodo prático: eu tinha reunião todo dia e nenhum lugar meu para guardar o que foi dito. A inspiração de conveniência foi o Granola. A diferença que eu quis defender foi a de confiança: a transcrição é feita no próprio computador e o histórico fica em arquivos que eu controlo.

Verifiquei no código, em 30/08/2026, para onde o app fala com a internet: o script de instalação do Homebrew, o download dos modelos no Hugging Face e a API do Google Calendar, quando a pessoa conecta. Não há telemetria nem chamada de retorno. Por isso a promessa de funcionar offline é uma frase que qualquer pessoa pode conferir sozinha, desligando o Wi-Fi.

Tela de boas-vindas do Memoir: selo "Gratuito, roda só no seu Mac", três garantias (tudo no Mac, sem cadastro e sem rastreio, funciona offline) e o botão Começar
A primeira tela já diz o que o app não faz: não envia nada, não pede cadastro, não depende de internet.

Antes de repetir a promessa em qualquer versão nova, a auditoria de rede precisa ser refeita.

Três decisões de produto

O produto cabe em uma pergunta: dá para ter a conveniência dos assistentes de reunião sem entregar a reunião a ninguém?

Três decisões saíram dela, e cada uma custou alguma conveniência.

Tudo roda no Mac

Transcrição, transcrição ao vivo e resumo usam modelos locais: Whisper large-v3-turbo, Nemotron streaming e Qwen3-4B. O custo é um download de cerca de 2,1 GB só para transcrever.

O ao vivo é prévia, o registro vem depois

O modelo de streaming troca precisão por velocidade. Ao encerrar, o Whisper refaz a transcrição e é ela que vai para a nota. A tela diz isso explicitamente.

A nota mora fora do app

Cada reunião vira um .md na pasta escolhida. Se eu edito no Obsidian, o Memoir compara o conteúdo antes de regravar e preserva a minha edição.

Uma interface que fala a verdade sobre o estado

O Memoir trabalha em segundo plano, em processos longos que podem falhar. Então a interface precisou dizer o que está acontecendo de verdade, sem enfeite que tranquilize à toa: a onda de áudio responde ao sinal medido, o erro explica a causa e o aviso de que algo falta só aparece quando falta.

Uma permissão por linha

O primeiro acesso pede microfone, áudio da chamada e avisos de reunião em linhas separadas, cada uma com o próprio botão e o próprio estado, e diz para que serve cada acesso.

A decisão por trás: A versão anterior pedia tudo de uma vez, com um botão só, e a pessoa não sabia qual permissão estava negando. Por linha, ela vê o que concedeu e o que ficou pendente.

Passo de permissões do macOS: sua voz e a voz dos outros marcadas como autorizadas, e avisos de reunião com botão Testar

O download diz o que é e quanto pesa

Cada item que ocupa disco aparece com nome, para que serve na prática e o tamanho, medido numa instalação real, antes de a pessoa clicar em instalar.

A decisão por trás: Sem o motor de transcrição o app grava e não transcreve. Em vez de descobrir isso na primeira reunião, a pessoa decide a instalação com o peso à vista, e pode pular e voltar depois.

Passo "Instalar o que vira texto": reconhecimento de fala, cerca de 2,1 GB, com o botão Instalar agora e a opção de pular
O primeiro acesso, passo a passo, com cada etapa travada até estar feita.

O erro que explica a causa e mantém o caminho de volta

Quando uma transcrição falha, a faixa diz o que aconteceu (aqui, falta um programa), o que fazer e se o áudio continua guardado. Tentar novamente aparece sempre; instalar só aparece enquanto falta.

A decisão por trás: Um estado só, "requer atenção", escondia quatro causas diferentes. Agora cada causa tem o próprio texto, e nenhum erro tira da pessoa o botão de tentar de novo.

Faixa de erro de uma reunião: "Falta instalar um programa", a explicação, o aviso de que o áudio foi mantido, e os botões Tentar novamente e Instalar

Uma biblioteca que busca no que foi dito

As reuniões ficam agrupadas por mês, com busca por título e também pelo conteúdo da transcrição, filtro de estado e seleção em lote para tratar várias de uma vez.

A decisão por trás: O valor do produto é achar o que foi dito. A busca só pelo título não servia a isso, e recuperar sete reuniões uma a uma era trabalho manual.

Biblioteca de reuniões de agosto de 2026, com abas Reuniões e Lixeira, filtro de estado, busca por título ou conteúdo e as reuniões com seus estados
Da biblioteca à transcrição: buscar uma palavra filtra os trechos e destaca onde ela foi dita.

Claro e escuro, que seguem o sistema

O app acompanha o modo do macOS por padrão e permite fixar um dos dois. A interface também tem quatro idiomas e um zoom de 80% a 140%.

A decisão por trás: Quem grava reunião o dia inteiro deixa o app aberto. Seguir o sistema evita um bloco claro num Mac escuro. O verde de ação é o mesmo nos dois temas, e o verde de texto escurece no claro para manter o contraste.

Configurações gerais: idioma da interface em português do Brasil, tema que acompanha o sistema, tamanho da interface em 100% e abrir ao iniciar o Mac
A biblioteca de reuniões no tema claro
A mesma biblioteca no tema claro.
A faixa de erro de uma reunião no tema claro
E a faixa de erro, com o âmbar ajustado ao fundo claro.

O que a auditoria achou, e o que eu desfiz

Em 29/08/2026 auditei o próprio app contra o código. A descoberta mais séria foi de segurança de dado: a retenção apagava o áudio de reuniões que nunca tinham sido transcritas, em silêncio, a única cópia do trabalho. Havia sete reuniões nessa situação.

Na mesma rodada apliquei seis mudanças de composição que eu achava melhores, como um cabeçalho compacto na tela inicial. Eu avaliei e preferi a interface anterior, e desfiz todas. O que ficou foram as correções verificáveis, como o contraste, o foco do teclado, a onda ligada ao sinal real e a retenção.

  1. 26/08

    Primeira versão

    Interface, integrações nativas, calendário, gravação e transcrição local no mesmo dia.

  2. 27/08

    O app que não achava o ffmpeg

    Aberto pelo Finder, ele herdava um PATH mínimo. Dois bugs na detecção impediam qualquer transcrição (0.2.1).

  3. 29/08

    Auditoria e identidade

    Contraste, retenção, erros por causa, marca nova, tema claro e o sistema de design no Figma.

  4. 30/08

    Ao vivo, resumo e onboarding

    Transcrição ao vivo, resumo local e o onboarding em passos, com o peso de cada download (0.6 a 0.11).

  5. 13/09

    Versão 0.30.0

    Notas, frontmatter configurável, zoom, idiomas e as correções de uso.

Datas dos registros de memória e do checklist do projeto.

O que ainda trava, dito com todas as letras

O instalador atual tem assinatura ad-hoc, sem Apple Developer ID, o que deixa as notificações de reunião menos confiáveis e impede a distribuição pública. O Google Calendar funciona para qualquer pessoa só com credencial própria; sem verificação do Google, a autorização expira em 7 dias.

São decisões de distribuição, não de interface, e por isso o Memoir segue como app de uso pessoal até eu decidir se vale o caminho de assinatura e verificação.

O que eu levo daqui

Três regras que ficaram, e que eu aplicaria em qualquer produto que trabalhe em segundo plano.

Separar "está errado" de "eu faria diferente".

Eu tinha razão nos defeitos medidos, como contraste e perda de áudio, e errei ao tratar densidade e peso visual como defeito. Agora só aplico o segundo grupo depois de ver.

Uma mensagem de erro descreve a máquina de antes.

O texto salvo na falha fica velho quando a pessoa corrige o problema. A tela passou a consultar o estado de agora e a nunca esconder o botão de tentar de novo.

Prometer na mensagem exige oferecer na tela.

Um erro dizia que dava para trocar de modelo, mas o seletor só existia em outro estado. Interruptor que liga o nada também saiu: se falta algo, a tela diz o quê e oferece o passo.

O que eu faria agora

Assinar e notarizar o app com um Apple Developer ID, resolver o caminho do Google Calendar para quem não é eu e só então publicar o instalador, com a página de download que já está pronta.

Disponível para projetos

Gostou do que viu? Entre em contato