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
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%
MedidoMais 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.
−69%
Medido no códigoMenos 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.
0
Regra do appÁ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.



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.

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.

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.

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.

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.

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.



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.
- 26/08
Primeira versão
Interface, integrações nativas, calendário, gravação e transcrição local no mesmo dia.
- 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).
- 29/08
Auditoria e identidade
Contraste, retenção, erros por causa, marca nova, tema claro e o sistema de design no Figma.
- 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).
- 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.