Cumulative pool: ClickUp, Notion, PostHog, Attio, Linear
Three new onboarding recordings were processed this cycle — PostHog, Attio, and Linear — and are analyzed in full below, screen by screen, with embedded evidence frames. ClickUp and Notion were evaluated in a prior session; their footage is not present in this session's working files, so they are carried forward at their existing ratings with a short summary rather than re-analyzed from scratch. This keeps the pool cumulative without fabricating evidence for tools whose source frames aren't available to re-check.
Every friction point below was checked against five possible causes — copy, hierarchy, placement, load time, motivation — with the ones that don't apply explicitly ruled out and a reason given, not just assumed. Two of the three new recordings contained short stretches of unrelated desktop content that were excluded from the analysis as recording noise rather than product evidence; this is noted inline where it occurred.
Rated in a previous run; source frames aren't available in this sandbox, so no new screens are analyzed here. Should be re-verified with fresh footage if a client conversation depends on specifics rather than the headline rating.
Rated in a previous run; source frames aren't available in this sandbox, so no new screens are analyzed here. Same re-verification caveat as ClickUp.
~8 min 55 sec · ~14 distinct product states · signup via Google OAuth
PostHog's signup completes and the account is technically usable within the recording window, but the path from “click Continue with Google” to “see your own data” is long, decision-heavy, and ends, in this session, without ever showing the tester real data. Four findings below, in the order they occurred.
The role dropdown sat on “Select a value” for roughly 20 seconds while the tester read the form, then the placeholder was never edited before the Create click — a direct sign the text was read as already filled in.
Copy ruled out — the label and helper text are accurate; the failure is visual, not verbal.
Hierarchy ruled out — field order is logical, nothing buried below the fold.
Placement ruled out — sits in the primary vertical flow with Create directly beneath.
Load time ruled out — the error renders instantly; no server round-trip involved.
Motivation ruled out as root cause — the tester had already completed three prior fields and picked a role, showing clear intent to finish.
The cursor hovered across every goal card in turn over ~20 seconds before landing on “I'll pick myself,” then repeated the same scanning pattern across the twelve-card grid — textbook Hick's Law: decision time scaling with the number of options.
Copy ruled out — each card's label and description accurately describe the product behind it.
Hierarchy partially responsible — “I'll pick myself”/“Hand off setup” are equal-weighted with the six goal options rather than a lighter-weight skip.
Placement ruled out — both screens centered, above the fold, no scrolling to act.
Load time ruled out — both render instantly, no spinner observed.
Motivation ruled out as primary driver — the friction is architectural (two stacked choice screens), not a dip in willingness to continue.
“Skip the install. Get 10–20 minutes back” is honest framing, but both offered paths assume the person at the keyboard can write or approve code. The tester clicked “Skip for now.”
Copy ruled out — transparent about time cost and prerequisites.
Hierarchy ruled out — two paths clearly differentiated with icons, labels, descriptions.
Placement ruled out — “Skip for now” sits directly next to “Next,” not hidden.
Load time ruled out — no delay reaching or reading this screen.
Motivation is the core issue — a non-technical evaluator has no reason to go find a repository mid-signup, so skipping is rational, and skipping is exactly what leaves the rest of the session with no data to show.
The “no events yet” banner persisted across every screen for the remainder of the ~9-minute session. The invite-team error was not triggered by any visible tester action — a genuine backend issue, not a self-inflicted mistake.
Copy ruled out — “no events yet” is accurate and links to onboarding/settings.
Hierarchy & placement ruled out — the banner is top-of-page and unmissable everywhere it appears.
Load time ruled out — pages render promptly; the absence of data traces to the skipped install (P3), not performance.
Motivation traces back to Finding P3 rather than a separate cause.
Outside signal
Independent reviews converge tightly on the same theme observed directly here. G2's aggregated pros/cons summary lists “Steep Learning Curve” and “Confusion” among the most frequent tags, and reviewers describe the first-run experience in almost identical language: “the UI presented a lot of features all at once, and it felt overwhelming,” and “non-technical users may need onboarding” because the platform “can feel technical or overwhelming at first.” A dedicated alternatives write-up frames the exact gap seen in Finding P3: “PostHog is a great developer tool, but product managers shouldn't have to learn SQL or wait on engineering just to see if a feature is being used.”
Self-serve signup succeeds and the workspace is real and usable — this is not a hard block. But a placeholder-styling bug produces an avoidable validation error, two stacked choice screens tax a brand-new user before any product value is shown, and the only realistic route to seeing real data requires developer involvement, which independent reviews confirm is exactly where non-technical evaluators stall out. Net effect on acquisition is negative but not fatal.
~9 min 16 sec · ~18 distinct states · signup attempted: email, then Google OAuth, then a brand-new Google account
This is the most severe onboarding failure in the current pool: the tester never reached the Attio product itself. The entire session was consumed by a blocked signup, a disproportionate workaround, and a dead end into a sales-contact form.
The error message names a category without confirming what specifically about the input triggered it, and offers no secondary path — just a blind retry.
Copy partially responsible — “public web email” is a generic catch-all that gives no clear next action beyond guessing.
Hierarchy ruled out — message and input field are directly adjacent.
Placement ruled out — retry field and Continue sit directly below, no scrolling.
Load time ruled out — the rejection is instant, not a timeout.
Motivation ruled out as root cause — a company-style domain signals clear intent to convert, not disengagement.
After rejection, “Sign in with Google” routed to an account that didn't yet exist, leading into Google's own account-creation flow — including a phone-verification wall — before a usable identity was available roughly four minutes later.
Copy ruled out — this isn't about wording; it's the absence of any lighter-weight alternative.
Hierarchy / placement ruled out — the Google button is prominent and correctly placed; the cost is step count, not layout.
Load time ruled out — each step loaded normally; the cost was step count, not speed.
Motivation — this is the direct, compounding consequence of A1, not an independent cause.
Seven fields — several not needed to spin up a self-serve trial — stand between the visitor and the product the homepage advertises as “Start for free.”
Copy ruled out — the modal doesn't hide what it is; labels are accurate.
Hierarchy ruled out — fields are logically grouped in a single column.
Placement ruled out — modal is centered and unmissable.
Load time ruled out — no delay opening or submitting.
Motivation a genuine cost — asking for phone number and team size before ever seeing the interface directly contradicts “Start for free.”
Roughly nine minutes of testing produced zero minutes inside the actual Attio product.
Same causal chain as A1–A3, not a new independent failure — the failure sits entirely in the account-creation logic and the absence of a graceful recovery route.
Outside signal
This precise scenario — a business email rejected as “public” — was not found in public G2, Capterra, or Reddit commentary at time of writing, so this finding rests primarily on direct observation; that gap is flagged rather than papered over. What outside signal does confirm is the contrast: independent reviews describe Attio's normal setup as fast and low-friction — “one founder documented full CRM setup in under thirty minutes, no technical resources involved,” and “basic setup takes 15–30 minutes.” That reputation makes this session's outcome a sharper-than-average miss.
This is the clearest acquisition-blocking failure in the pool. A plausible real-world signup attempt was rejected at the door, the only recovery path required a disproportionate detour through building a new Google account, and the fallback led to a sales form rather than the product. A prospective buyer evaluating Attio alongside competitors in the same sitting would very likely have closed the tab and moved to the next one over.
~10 min 13 sec · ~16 distinct states · signup via Google OAuth (two full signups completed)
Linear is the strongest onboarding in the current pool by a wide margin. Two independent signups were completed within the single recording, both reaching a working, populated workspace in well under a minute.
No organization-name form, no role picker, no multi-card product-selection screen sat between the OAuth click and a usable workspace — the opposite pattern from PostHog and Attio above.
Copy n/a — no error state was produced; the copy used is minimal and accurate throughout.
Hierarchy confirmed strong — Google, the fastest path, sits above email and SSO in order and weight.
Placement confirmed strong — every option needed is in one centered card, no scrolling.
Load time the only wait was a standard OAuth redirect, not a workspace-generation delay.
Motivation this is where the design earns the result — nothing is asked beyond what's strictly required, so motivation never gets the chance to drain.
Cursor, GitHub, and Codex connections are reachable from an optional “Try:” section in the sidebar rather than forced into the critical path. The new workspace is immediately usable for its core job — issue tracking — without touching any of them.
Copy, hierarchy, placement, and load time all check out cleanly for the same reasons as L1 — a continuation of the same low-friction pattern.
Copy ruled out — Linear's integration page over-explains rather than under-explains.
Hierarchy / placement ruled out — “Enable” is a single, clearly labeled primary button.
Load time partially responsible, on GitHub's side — their hosted install page rendered blank briefly, but that's GitHub's page, not Linear's.
Motivation not a factor — the tester proceeded without hesitation both times; reads as “ran out of session time,” not a drop-off signal.
A ~3-minute stretch of this recording contained an unrelated background application briefly visible during normal app-switching. Excluded from findings as recording noise, called out here for transparency only.
Outside signal
Independent sources converge strongly with what was observed. G2's aggregation lists “I liked how simple it was; there was no onboarding needed, it was very intuitive and easy to get started” as representative, and a dedicated onboarding teardown independently documents the same sequencing choice seen here — GitHub and team invites deliberately deferred until after a working team exists. A separate review: “We were able to fully onboard our team within literally 5 minutes… our team intuitively picked it up with zero training or hand holding.”
Linear's onboarding removes essentially every avoidable decision between clicking sign-up and having a working, populated workspace, a pattern independently confirmed across G2, an outside teardown, and Linear's own documentation. The one friction point identified — the external GitHub handoff — is a bounded, optional, expected cost of any GitHub-App-based integration, not a barrier to activation.
Pool is currently 5 tools (ClickUp, Notion, PostHog, Attio, Linear). Per standing instructions, the 3-finalist case-study section is held back until the pool reaches 6–8 tools.