Em 2012, Bret Victor deu uma palestra chamada “Inventing on Principle”. As ideias do Bret sobre imediatismo em ferramentas criativas me lembraram de um texto que escrevi em 2009 sobre atingir a velocidade do pensamento — a ideia de que as melhores ferramentas colapsam a distância entre intenção e resultado. Trinta minutos depois, ele demonstra um app de animação para iPad onde performa uma animação em tempo real — apenas arrasta um asset com o dedo enquanto a timeline toca, e o movimento é capturado exatamente como ele fez. Sem keyframes. Sem tweens. A ferramenta saiu do caminho e deixou ele simplesmente fazer a coisa.
Bret nunca lançou esse app, e por mais de uma década eu quis que algo assim existisse.
Recentemente, minha esposa — cirurgiã — começou a criar vídeos didáticos no estilo Osmosis para o Instagram. Eu ajudava às vezes com a produção, mas as ferramentas sempre tinham mais atrito do que deveriam. Precisávamos de uma forma leve e integrada de animar diferentes assets e produzir um vídeo explicativo completo sem um pipeline de pós-produção complexo.
Muy é minha resposta para as duas coisas. O nome vem de Eadweard Muybridge — o fotógrafo que primeiro capturou o movimento em sequência — e é uma ferramenta de animação no navegador onde você grava animações performando-as, não especificando-as.
Princípios de produto como restrições
Antes de começar a construir, defini cinco princípios para o MVP. A ideia era que funcionassem como restrições, diferenciadores e um checklist de validação.
- Baseado na web. As APIs web modernas chegaram a um ponto em que um PWA pode entregar uma UX indistinguível de um app nativo. O Figma é a prova disso. Rodar no navegador significava zero fricção de instalação, acesso em qualquer dispositivo e toda a flexibilidade da plataforma web.
- Otimizado para iPad, mas usável no desktop. Ser web-based tornou isso quase automático. Queria respeitar a forma como as pessoas criam conteúdo hoje — sem estar presas a uma estação de trabalho.
- Sem IA. Já tem slop gerado por IA suficiente no mundo. O Muy é deliberadamente sobre expressão humana. O objetivo é ajudar as pessoas a desbloquear intenção sem assistência de IA. Posso adicionar recursos menores de IA no futuro, mas a ferramenta principal é para autoria humana.
- Sem back-end. Tudo fica no lado do cliente. Projetos são armazenados no IndexedDB. Sem autenticação, sem contas — você abre a URL e usa, como o Excalidraw. Mais simples, mais barato, e dá ao usuário uma sensação de controle e propriedade.
- Pronto para produção. O MVP precisava produzir saída real e utilizável para uma ampla gama de aplicações — não apenas uma demo. Isso significava exportação de vídeo de verdade e a capacidade de compor uma animação inteira do zero.
Construindo com agentes
O MVP levou duas semanas, trabalhando em ciclos de iteração — às vezes projetando features cuidadosamente no Figma primeiro, às vezes indo direto para o código. Foi também um exercício deliberado de integrar agentic coding ao fluxo de trabalho de design.
Usei o Plan Mode extensivamente para features que exigiam pensar com cuidado antes de implementar. Usei modelos diferentes para tarefas diferentes: modelos frontier como Claude para raciocínio complexo e decisões de arquitetura, modelos locais mais leves para geração mais mecânica, para não gastar o orçamento de tokens desnecessariamente. Usar um framework de UI como o shadcn tornou muita coisa mais rápida e fácil, enquanto ainda deixava espaço significativo para customização — especialmente nos widgets de propriedade e no componente de scrubber.
O processo reforçou algo que eu suspeitava mas não tinha internalizado completamente: o valor do agentic coding não é só velocidade. É a capacidade de iterar rápido, e isso muda como você explora um espaço de problema. Nesse caso, eu era usuário, junto com alguns amigos, então os ciclos de feedback eram curtos.
A mecânica central
O centro do Muy é a gravação por performance. Você seleciona uma camada, aperta Play e manipula suas propriedades enquanto a animação toca. Em cada frame que passa, o novo valor da propriedade é gravado. Quando você para, a animação reflete exatamente o que você fez.
Em vez de especificar onde algo deve estar em cada keyframe e confiar que o software vai interpolar — ou gastar tempo demais planejando o que deveria ser uma animação simples — você simplesmente mostra para a ferramenta o que quer. O modelo de interação é muito mais próximo de fazer marionete do que de programar. Estamos prontos para o vibe animating? Desculpe ter sugerido isso 😬️
Além da posição, você também pode performar rotação, escala, transparência e uma revelação caractere a caractere em textos ou em traços vetoriais — tudo usando o mesmo modelo de gravar enquanto toca.
O desafio de design interessante não é a gravação em si — é tornar a ferramenta invisível o suficiente para que o performer fique em flow.
Modelo do sistema solar, usando a sensibilidade de camada para simular diferentes períodos orbitais
Experimente
A versão hospedada está em muy.video. O código é open-source em github.com/jpfaraco/muy.
Projetos salvos ficam armazenados localmente no IndexedDB e podem ser exportados como arquivos .muy auto-contidos com assets em base64 embutidos. O app instala como PWA e roda em modo standalone, indistinguível de um app nativo.
Pretendo continuar evoluindo. E espero que outras pessoas achem útil para criar coisas.