Estudo de caso - Seu gosto musical entrega você.

Quem Botou Essa? transforma a playlist da call em um fichário de suspeitos. Um party game musical em tempo real, na web e em um cliente nativo SwiftUI, conectados à mesma sala.

Cliente
Quem Botou Essa?
Ano
Serviço
Design de produto, desenvolvimento web e iOS
Tela inicial de Quem Botou Essa?, com palco âmbar, criação de sala e entrada por código

Visão geral

Uma playlist. Vários suspeitos.

Em Quem Botou Essa?, de 3 a 12 amigos numa call escolhem músicas em segredo. No modo Clássico, cada preview toca por 30 segundos: o grupo aponta o suspeito, mas só descobre o culpado na revelação. No modo Charada, uma pessoa escreve uma pista, todo mundo responde com uma música, e o grupo ouve 10 segundos de cada carta para achar a de quem deu a pista.

Quem acertou ganha um ponto. Quem escolheu ganha um por acerto — mas fica com zero se todos acertarem. A pontuação inspirada em Dixit incentiva uma escolha que diga algo sobre você sem entregar tudo.

  • Quem Botou Essa?
  • Sala em tempo real
  • Web + iOS nativo
  • Motion + Motion+

Processo

Da call ao fichário de suspeitos.

O produto reúne regras, identidade, som e presença. Cada fase tem uma função: entrar, escolher, escutar, acusar e descobrir.
01

Noir de brincadeira

Palco quase preto, spotlight âmbar e cards creme com grão de risografia. Coral no veredito, lima ácida no voto. Bricolage Grotesque, Geist e Geist Mono dão voz ao fichário.

02

Uma sala compartilhada

Convex guarda escolhas, votos e pontuação. Presença ao vivo e recuperação pelo mesmo apelido preservam a vaga de quem cai da call, incluindo música e placar.

03

O jogo no navegador

Next.js 16 leva o grupo da sala à busca no catálogo Apple Music, do preview ao palpite. A autoria da música só chega aos clientes na revelação.

04

Um cliente nativo em SwiftUI

O app iOS usa convex-swift para entrar na mesma sala da web. Criar, escolher, votar e acompanhar a revelação seguem o mesmo estado do jogo.

05

O tempo vira vinil

O aro do disco drena os 30 segundos. A agulha sobe ao fechar o voto; o próximo disco entra. Motion e Motion+ coreografam o carimbo, os títulos e a reordenação do placar.

No navegador

Da primeira música ao último carimbo.

Capturas de uma partida Clássica real, com três jogadores no mesmo backend local. O palco recebe a cor da capa; o suspense termina no carimbo de culpado.
Tela inicial com a marca Quem Botou Essa? e formulários para criar ou entrar numa sala

Abra a sala

Lobby com Mello, Bea e Gui alinhados em cards de suspeitos

Fila de suspeitos

Busca de músicas com capas, preview e confirmação da escolha secreta

Escolha em segredo

Turno com a capa de Houdini no vinil, timer circular e a orientação para quem escolheu a música

O tempo é um vinil

Revelação da autoria da música com o carimbo de culpado e os palpites

Carimbo de culpado

Placar acumulado depois da rodada com três jogadores

Quem acertou?

Web no celular · iOS nativo

A mesma sala cabe na mão.

As telas abaixo são capturas da web a 390 × 844: lobby, vinil e revelação. A composição se reorganiza para manter os suspeitos e o palpite ao alcance do polegar.

O cliente nativo é feito em SwiftUI sobre o mesmo Convex. Web e iOS participam juntos; no app, o áudio usa AVPlayer, pausa em segundo plano e volta à posição atual do turno.

Lobby da web no celular com três cards de suspeitos

Suspeitos na mão

Turno da web no celular com vinil, contagem e opções de suspeitos

Vinil no celular

Revelação da web no celular com capa e carimbo de culpado

Veredito no celular

Stack e regras

Convex segura a sala. A música marca o tempo.

Números das regras e da identidade do jogo: capacidade da sala, duração do preview Clássico e elenco de avatares.
Jogadores por sala
3–12

Amigos na mesma call, na web ou no iOS

Segundos por preview
30

O aro do vinil conta o tempo no Clássico

Suspeitos ilustrados
19

Um elenco próprio, compartilhado entre web e iOS

Jogo no ar
Abrir uma sala →

who-put-that.mellofattura.com

Tecnologias

  • Next.js 16
  • Convex
  • Motion
  • Motion+
  • Apple Music API
  • SwiftUI
  • convex-swift
  • Vercel

Convex mantém o estado autoritativo, as transições e a presença. Next.js 16 e SwiftUI são clientes da mesma sala. A busca usa Apple Music API em produção e iTunes no desenvolvimento local. Motion e Motion+ dão ritmo à web, publicada na Vercel.

Mais estudos de caso

Um leitor de cardápio que escolhe o que pedir, com as contas feitas no aparelho

Um app de iOS que lê o cardápio de um restaurante a partir de uma foto, cruza com o que você registrou hoje no Apple Saúde e ordena os pratos. Um modelo de linguagem lê o cardápio; o Swift faz as contas.

Ler mais

Aulas de idioma a partir do jogo na sua tela

O Looté é um app iOS para quem estuda um idioma com os jogos que já joga. Ele lê a tela do jogo, explica cada fala no contexto da cena e transforma o que você salva em flashcards com repetição espaçada.

Ler mais

Conte sobre o seu projeto

Onde estamos

  • São Paulo
    São Paulo, SP
    Brasil