Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
1b3f354
feat(onboarding): add Patchy persona quiz step + demo page
idoshamun Jun 3, 2026
e47a403
feat(onboarding): refresh persona quiz with v5 data + triple-tie UX
jastete11 Jun 3, 2026
fb540b0
feat(onboarding): hard locks on self-id questions + Q2/Q22 rewording
jastete11 Jun 3, 2026
47c875b
feat(onboarding): skip contradictory main-language questions
jastete11 Jun 3, 2026
c32ca54
feat(onboarding): close primary-domain group on Q1/Q2
jastete11 Jun 3, 2026
3154ae3
feat(onboarding): reword Q11 to be more concrete
jastete11 Jun 3, 2026
ff31509
feat(onboarding): reframe Q11 around scope of AI work
jastete11 Jun 3, 2026
0da8478
feat(onboarding): reframe Q11 around agentic AI use
jastete11 Jun 3, 2026
8cb1473
feat(onboarding): collapse AI App Builder + Eng Leader, add Tech Stra…
jastete11 Jun 4, 2026
1d06272
feat(onboarding): recalibrate persona matrix from engagement data
jastete11 Jun 4, 2026
e0757f5
feat(onboarding): group Q4/Q6/Q7 under primary-platform
jastete11 Jun 4, 2026
c70cec5
feat(onboarding): persona quiz micro-interactions, modifiers after pe…
idoshamun Jun 4, 2026
c2a6382
chore(onboarding): fix prettier formatting in persona data/engine
idoshamun Jun 4, 2026
0e241ce
feat(onboarding): cross-group implications + tighten DevOps lock
jastete11 Jun 4, 2026
3e8144d
feat(onboarding): finish open exclusive groups + DevOps lock + Java q…
jastete11 Jun 4, 2026
3b39b41
feat(onboarding): Patchy video mascot, two-column layout, top warmth …
idoshamun Jun 7, 2026
b52f092
feat(onboarding): rename Tech Strategist + reword three on-the-nose l…
jastete11 Jun 7, 2026
cefdcb9
feat(onboarding): per-answer mascot clips, reveal mid-animation, butt…
idoshamun Jun 7, 2026
a99ded8
chore(onboarding): remove persona quiz debug tooling; add idle clips
idoshamun Jun 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import {
FunnelOrganicSignup,
FunnelBrowserExtension,
FunnelUploadCv,
FunnelPersonaQuiz,
} from '../steps';
import { FunnelFact } from '../steps/FunnelFact';
import { FunnelCheckout } from '../steps/FunnelCheckout';
Expand Down Expand Up @@ -79,6 +80,7 @@ const stepComponentMap = {
[FunnelStepType.PlusCards]: FunnelPlusCards,
[FunnelStepType.BrowserExtension]: FunnelBrowserExtension,
[FunnelStepType.UploadCv]: FunnelUploadCv,
[FunnelStepType.PersonaQuiz]: FunnelPersonaQuiz,
} as const;

function FunnelStepComponent(props: {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
/* Micro-interactions for the Patchy persona quiz. Scoped via CSS modules. */

@keyframes question-in {
from {
opacity: 0;
transform: translateY(16px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

@keyframes dot-blink {
0%,
80%,
100% {
opacity: 0.25;
transform: scale(0.7);
}
40% {
opacity: 1;
transform: scale(1);
}
}

@keyframes reveal-rise {
from {
opacity: 0;
transform: translateY(14px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

.questionIn {
animation: question-in 0.35s ease both;
}

.dot {
animation: dot-blink 1.2s ease-in-out infinite;
}

.revealName {
animation: reveal-rise 0.5s ease 0.15s both;
}

.revealTagline {
animation: reveal-rise 0.5s ease 0.3s both;
}

.revealActions {
animation: reveal-rise 0.5s ease 0.45s both;
}

@media (prefers-reduced-motion: reduce) {
.questionIn,
.dot,
.revealName,
.revealTagline,
.revealActions {
animation: none;
}
}
Loading
Loading