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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Screenshot de uma versão inicial do app. Ainda bem que você não consegue ver direito.
Versão inicial. Evidência clara de que o Figma ainda é essencial no agentic coding.

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.

Seletor de cor e paleta

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.

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.