Off Campus EH — filtro TikTok "Quem é seu par perfeito?
Off Campus EH — "Quem é seu par perfeito de Off Campus?" 💘
Filtro TikTok Effect House baseado na série Off Campus (Prime Video). Quiz de
8 perguntas binárias (vira a cabeça esq/dir pra responder) que revela qual personagem
é o "par perfeito" da pessoa, com card de resultado estilo "100% MATCH".
- Repo: https://github.com/kodama1/off-campus-eh (privado)
- Local:
C:\Users\User\off-campus-eh\(Windows/Atlas) - Ferramenta alvo: TikTok Effect House (ainda não montado na cena — só lógica +
assets prontos) - Fonte de dados dos personagens: NocoDB self-hosted (
nocodb.kodama.solutions,
ver nocodb-hermes) — base "Off Campus" (p9p75m72m1sbb9o), tabelaCharacters= elenco completo da série. Pool do quiz = só os marcadosperfect_match=true(9 de N). Se mudar as marcações na base, re-tunar os perfis
emquiz.js.
Mecânica
- 8 perguntas binárias (opção A / opção B), cada lado listado em
QUESTIONS[i]. - Responder = virar a cabeça (yaw) pra esquerda (A) ou direita (B) e segurar
1s (HOLD_SEC) — enche um anel de progresso (setFill). Zona morta central de
±12° (YAW_THRESH) evita resposta acidental. - Match = aditivo: cada pergunta soma +1 pros personagens do lado escolhido.
Maior soma vence; empate resolvido porPRIORITY(ordem fixa, quem vem antes
ganha).pct = score/8 * 100— todo personagem é teoricamente alcançável (perfil
8/8 = 100%). - Resultado mostra card do match + "plano B" (segundo colocado).
Pool (9 personagens)
| chave | nome | ator/atriz | tagline do card |
|---|---|---|---|
| garrett | Garrett Graham | Belmont Cameli | Intenso e leal — te protege e te escolhe todo dia. |
| hannah | Hannah Wells | Ella Bright | Afiada e verdadeira — um slow-burn que vale cada segundo. |
| dean | Dean Di Laurentis | Stephen Kalyn | Charme, aventura e paixão. Nunca um dia parado. |
| allie | Allie Hayes | Mika Abdalla | Calorosa e vibrante — transforma tudo em festa boa. |
| logan | John Logan | Antonio Cipriano | O melhor amigo que vira amor. Carinho sem fim. |
| tucker | John Tucker | Jalen Thomas Brooks | Maduro e firme — o amor seguro que fica. |
| justin | Justin Kohl | Josh Heuston | Artista livre que transforma vocês em música. |
| jules | Jules | Julia Sarah Stone | Esperta e antenada — banter afiado, zero tédio. |
| hunter | Hunter Davenport | Charlie Evans | Confiante e determinado — vai com tudo por você. |
Perfis de pergunta (traço A vs traço B) codificados em QUESTIONS[] — cobrem
extrovertido/reservado, esperto/caloroso, desafia/acolhe, esporte/arte,
paixão/amizade, protetor/livre, popular/na-dele, entrega-total/leve.
Estrutura do repo
off-campus-eh/
quiz.js # lógica completa: matchQuiz(), state machine (onFrame),
# 4 hooks de I/O a implementar no Effect House
portraits/*.{jpg,png} # 9 fotos-fonte (uma por personagem) — de Fandom
# (offcampus.fandom.com stills) + TMDB pra Jules
result-cards/*.png # 9 cards de resultado 1080×1920, dark/premium,
# foto+nome+tagline+badge "100% MATCH" (~1-2MB cada,
# gerados via HTML→agent-browser screenshot)
quiz.js — API pra ligar no Effect House
matchQuiz(answers)— núcleo puro, recebe array de 8"A"/"B", retorna{match, pct, second, scores}.startQuiz()/onFrame(headYaw, dt)— máquina de estado dirigida pelo yaw da
cabeça (chamaronFrametodo frame do update loop do EH).- 4 hooks de I/O ainda vazios, pra implementar ligando aos objetos de cena:
showQuestion(i, txtA, txtB),setFill(side, p),showResult(key, pct, secondKey, meta, secondMeta),resetQuiz().
Assets — de onde vieram
- Fotos-fonte: stills do Fandom (
offcampus.fandom.com) para 8 personagens + TMDB
pra Jules (não tinha still boa no Fandom). - Cards de resultado: gerados via HTML → screenshot (agent-browser), script em
scratchpad/cards/gen.sh(não versionado, só nos scratchpads da sessão que
gerou — recriar se precisar regenerar os cards).
Estado atual (2026-06-30)
- ✅ Lógica do quiz completa e testável fora do EH (
matchQuizé função pura). - ✅ 9 fotos-fonte + 9 cards de resultado prontos.
- ✅ Código versionado em
kodama1/off-campus-eh(privado, branchmaster). - ❌ Não montado no Effect House ainda — falta criar o projeto
.ehproj, ligar
o Face Tracker (yaw) noonFrame, criar os painéis de pergunta (texto A/B + anéis
de progresso) e o painel de resultado (troca de textura pro card), e implementar
os 4 hooks de I/O. - Sessão que gerou a lógica/assets:
79627a16-9658-4bce-b85f-b1b7bce2fcc0(Claude
Code, Windows/Atlas) — transcript local, sem backup automático no vault (era
anterior ao fix devault-session-log.mjsque agora copia.jsonlprasessions/<slug>/transcripts/).
Próximos passos
- Criar
.ehprojno Effect House, montar cena (Face Tracker + painéis + cards). - Colar
quiz.jsnum Script Component, ligarheadYawreal do tracker. - Implementar os 4 hooks de I/O contra os objetos da cena.
- Testar no celular (preview TikTok / QR).
- Publicar.
Ver também
- nocodb-hermes — onde vive a tabela
Characters(fonte do pool) - projects/goalhead/overview — outro filtro Effect House do Marcus (padrão de
workflow parecido: montagem manual na GUI + script TS)