Research

current-funnel-ux-review

outputs/agent-4-twofold-research/current-funnel-ux-review.md

Twofold Current Funnel — Expert UX Review

Executive Summary

Twofold Health's signup/onboarding funnel follows a conventional SaaS pattern: landing page → signup → 4-step onboarding wizard → NUX dialog → /new page. The landing page is professionally designed with strong trust signals (HIPAA badge, 4.8-star rating, real clinician testimonials) and clear value messaging. The hero immediately communicates the core benefit — auto-generated clinical notes — with transparent pricing ("Free for a week, then $19").

The onboarding wizard is lean (4 steps: welcome, name, specialty, note preferences) with smart personalization — specialty selection auto-configures note templates and note preferences default intelligently (psychotherapy → "the client", internal medicine → "the patient"). Feature flags (onboarding-note-customization-step, onboarding-specialty-improved) actively control variant delivery. The NUX dialog after onboarding presents three clear paths (record, demo, sample note) with progressive disclosure.

The critical weakness is the /new page activation bottleneck. After 7+ screens of setup, users land on a sparse page with a "Capture Conversation" button and little guidance. The mobile experience is particularly stark — 65% of mobile users never press the button. The page lacks confidence-building elements, clear next-step guidance, and emotional momentum from the onboarding. The gap between "you're all set!" and "figure out what to do" is where activation dies.

Overall Grade: B- — Strong landing page and onboarding personalization, but the value delivery is too late, the /new page lacks activation support, and mobile loses critical context. The biggest win would be moving first-value-experience earlier and adding guided activation on /new.

Flow Map

www.trytwofold.com                    app.trytwofold.com
┌──────────────────────┐              ┌──────────────────────┐
│ 1. Hero Section      │──CTA────────>│ 9. Signup Page       │
│ 2. Testimonials      │              │    (Google OAuth or   │
│ 3. Features          │              │     email/password)   │
│ 4. How It Works      │              └──────────┬───────────┘
│ 5. Value Prop CTA    │                         │
│ 6. Pricing           │                         ▼
│ 7. Security          │              ┌──────────────────────┐
│ 8. Footer            │              │ 11. Welcome Step     │ ← No data
└──────────────────────┘              │ 12. Name Step        │ ← First/Last
                                      │ 14. Specialty Step   │ ← Specialty + size
                                      │ 17. Note Preferences │ ← Patient/clinician naming
                                      └──────────┬───────────┘
                                                  │
                                                  ▼
                                      ┌──────────────────────┐
                                      │ 18. NUX Dialog       │
                                      │  • Record (recommended)│
                                      │  • Demo recording     │
                                      │  • View sample note   │
                                      │  • Skip               │
                                      └──────────┬───────────┘
                                                  │
                                                  ▼
                                      ┌──────────────────────┐
                                      │ 19. /new Page        │
                                      │  • Patient Name      │
                                      │  • Template selector │
                                      │  • Modality selector │
                                      │  • Capture Conversation│
                                      │  • (dropdown: Dictate,│
                                      │    Text, Upload)      │
                                      └──────────────────────┘

Total steps to first value: 8-9 (from signup CTA to app)
Estimated completion time: 3-5 minutes

Source Code Insights

Feature Flags Control the Flow

Two PostHog feature flags actively modify the onboarding experience:

  • onboarding-note-customization-step: When "test", adds a Note Preferences step (patient/clinician naming conventions). When off, shows a "You're all set!" completion step. Currently active in both desktop and mobile walkthroughs.
  • onboarding-specialty-improved: When "test", adds subtitle "We use this to match your clinical language and note format" to specialty step and enables mobile-optimized search. Currently active.

Data Collection Strategy

  • Name Step: First/last name via react-hook-form + zod. Pre-fills from Clerk auth or existing personal info. Tracks whether fields were manually edited.
  • Specialty Step: Medical specialty (server-side list with search) + clinic size (4 options: solo, 2-9, 10-49, 50+). Selecting specialty auto-configures templates via setEnabledCustomTemplatesByMedicalSpecialty.
  • Note Preferences (flag-gated): Patient referral (by name, "the client", "the patient", custom) and clinician referral (by name, custom). Smart defaults by specialty: mental health → "the client", others → "the patient".

State Management & Redirects

  • Wizard step tracked via URL search param (?step=1,2,3,4), enabling back/forward navigation.
  • Completion stored in userSettings.didFinishOnboardingWizard (server) AND Zustand persisted store (client).
  • Redirect loop protection: max 3 redirects between /onboarding and /new before Sentry alert.

NUX Dialog Behavior

  • Appears after 2-second delay on /new page.
  • Won't show if group invitation dialog is active.
  • Three options: Record (stays on page), Demo (→ /demo), Sample (→ /notes/{sampleVisitId}).
  • Prefetches /demo and sample note pages 500ms after dialog appears.
  • Skip tracks interaction type: "skip_button" vs "outside_dialog" — both mark didFinishNuxDialog: true permanently.

/new Page Implementation

  • 4 capture modes persisted in localStorage: Capture Conversation, Dictate Session Summary, Text to Note, Upload Recording.
  • Demo script card shown for users with numberOfSuccessfulVisits === 0 — links to /demo.
  • Patient context pane (desktop large only): 3 tabs (Assistant, Last Note Summary, Treatment Plan). Hidden when demo card showing.
  • Mobile web: Separate component (mobile-web/new-visit-mobile-web-component.tsx) with larger touch targets, simplified layout, bottom tab nav.
  • Minimum recording duration: 20 seconds (2s in dev). Shows "Recording too short" toast if violated.
  • Permission handling: Detects Firefox → redirect. Denied mic → redirect. 5-second timeout for permission request.

PostHog Tracking Events

Every user interaction is captured: step views, field edits, button clicks (even disabled ones), NUX option selections, demo card clicks, capture type changes, permission states, recording duration violations.


Per-Step Analysis

Step 1: Landing Page — Hero Section (Desktop)

Step 1

Grade: A-

DimensionAssessmentGrade
Visual DesignClean split layout with warm peach tones. Product mockup on right shows actual app UI which builds credibility. Good whitespace.A
Copy Effectiveness"Your clinical notes. Auto-generated. Magically." — Clear, benefit-driven, memorable. "Magically" in coral adds playful contrast. Subhead reinforces trust.A
Psychological Triggers4.8-star rating + HIPAA badge immediately address the two biggest objections (quality + security). "No credit card required" removes risk.A
Interaction DesignSingle CTA "Try for Free" is clear. Navigation bar well-organized with anchor links.A-
Trust & FrictionHIPAA badge prominently placed. Star rating visible. "No credit card" reduces signup friction. Top bar shows "$19 first month" — transparent pricing.A
Conversion MechanicsCTA above fold with strong value prop. Only one action path — good. "Try for Free" is low-commitment language.A
Technical UXPage loads quickly. Responsive layout. Banner text is small on standard monitors.B+
Source Code InsightsCTA text is dynamically controlled via getCtaButtonText(Astro) — allows audience-specific variants. Multiple audience types supported (therapists, PTs, SLPs, etc.) with different testimonials.A

Top Recommendation: The hero product mockup is static — consider adding a subtle animation or interactive demo preview to increase engagement and show the product in action.

Step 1M: Landing Page — Hero Section (Mobile)

Step 1M

Grade: B+

DimensionAssessmentGrade
Visual DesignClean single-column stack. Hero text is large and readable. Product mockup below fold. Good use of space.B+
Copy EffectivenessSame strong copy as desktop. Full-width CTA is thumb-friendly. "No credit card required" visible.A
Psychological TriggersStar rating and HIPAA badge visible but below CTA — good sequencing.B+
Interaction DesignHamburger menu hides navigation. Full-width CTA button is easy to tap.B
Trust & FrictionHIPAA badge and star rating are below the fold but still visible in first scroll.B
Conversion MechanicsFull-width "Try for Free" CTA is prominently sized and well-placed.A-
Technical UXResponsive layout works well. Top promo banner is proportionally larger on mobile.B+
Source Code InsightsSame dynamic CTA text. Mobile uses different testimonial card widths (320px vs 458px desktop).B+

Top Recommendation: Move HIPAA badge inline with or above the CTA to address security concerns before asking for action.

Step 2: Landing Page — Testimonials (Desktop)

Step 2

Grade: A-

DimensionAssessmentGrade
Visual DesignDark navy background creates strong contrast with testimonial cards. Horizontal card carousel feels polished.A
Copy Effectiveness"We're loved by thousands of therapists, physicians and nurses" — strong social proof headline. Real names with credentials (MD).A
Psychological TriggersSocial proof is the primary driver here. 5-star ratings on every card. MD credentials build authority.A
Interaction DesignHorizontal scroll/carousel works but no visible scroll indicators on desktop.B
Trust & FrictionReal clinician names and specialties build authenticity. Variety of specialties represented.A
Conversion MechanicsNo CTA in this section — missed opportunity to capture momentum from positive testimonials.B
Technical UXCarousel animation is smooth. Cards are well-sized.A-
Source Code Insights13 clinician testimonials for general audience, with specialty-specific sets (therapists: 9, PTs: 6, SLPs: 6, etc.). Infinite loop animation with triplication.A

Top Recommendation: Add a "Try for Free" CTA button after the testimonials section to capitalize on the trust momentum.

Step 3: Landing Page — Features (Desktop)

Step 3

Grade: B+

DimensionAssessmentGrade
Visual Design"Built for clinicians, by clinicians" heading with 4 icon-led value props. Clean grid layout. Good transition into How It Works.B+
Copy EffectivenessFour props (Accurate, Secure, Compatible, Personalized) are concise and address key concerns. "Recordings are never stored" is a strong statement.A-
Psychological TriggersAuthority via "built by clinicians." Addresses fear (security) and desire (personalization).B+
Interaction DesignStatic content, no interaction needed. Scannable layout.B+
Trust & Friction"HIPAA and HITECH compliant" + "Recordings are never stored" directly address the #1 clinician concern.A
Conversion Mechanics"Super simple" heading bridges well into how-it-works. The 3-step visual (Start → Capture → Note) is clear.B+
Technical UXClean rendering. Icons are clear.B+
Source Code InsightsFeature props are static Astro components. No dynamic content or personalization here.B

Top Recommendation: Make "Compatible" more specific — name top EHR systems (Epic, Cerner, etc.) to increase concreteness.

Step 4: Landing Page — How It Works + Alternative Inputs (Desktop)

Step 4

Grade: B+

DimensionAssessmentGrade
Visual DesignCTA button after the 3-step flow is well-placed. "Prefer not to capture?" section is welcoming and non-judgmental.B+
Copy Effectiveness"Prefer not to capture the conversation? No problem." — Excellent objection handling. Dictate and Upload options shown clearly.A
Psychological TriggersAddresses the primary objection (recording patients) before the user even signs up. Removes a major barrier.A
Interaction DesignTwo-column layout for alternatives is clear. Each has icon, heading, and description.B+
Trust & FrictionAcknowledging recording anxiety and offering alternatives is a trust-builder.A
Conversion MechanicsSecond CTA ("Try for Free") captures users convinced by the process explanation.A-
Technical UXGood spacing. Visual hierarchy is clear.B+
Source Code InsightsHow-it-works steps use a visual flow diagram component. CTA is tracked with try_free_howitworks ID.B+

Top Recommendation: Add a brief video or GIF showing the actual recording → note generation flow. Seeing it is believing.

Step 5: Landing Page — Value Prop + Pricing (Desktop)

Step 5

Grade: B+

DimensionAssessmentGrade
Visual DesignGradient peach banner for "Reduce burnout" is visually distinct. Pricing section headline is clean. Monthly/Annual toggle is standard.B+
Copy Effectiveness"Reduce burnout, improve patient care" — hits the emotional core. "Focus on the patient, not the paperwork" is the perfect one-liner.A
Psychological TriggersLoss aversion ("reduce burnout"), social proof ("thousands of clinicians"), and aspiration ("improve patient care").A
Interaction DesignMonthly/Annual pricing toggle is standard and expected.B+
Trust & Friction"Start free" in headline + "No credit card needed" under CTA. Free tier visible.A-
Conversion MechanicsThird CTA within the value prop section. Pricing immediately follows — good sequencing.A-
Technical UXPricing toggle works smoothly. Card layout is clean.B+
Source Code InsightsPricing is SSR-rendered (PricingSectionSSR.astro) for dynamic content. Annual toggle fetches different prices. Referral program ("Refer 2 friends, get 1 year free") is below pricing.B+

Top Recommendation: Show actual price savings for Annual vs Monthly more prominently — the toggle exists but the savings aren't highlighted.

Step 6: Landing Page — Pricing Details (Desktop)

Step 6

Grade: B

DimensionAssessmentGrade
Visual DesignThree-tier layout (Free, Personal, Group). "Most Popular" badge on Personal. Clean feature lists.B+
Copy EffectivenessFeature lists are clear but clinical ("AI Assistant", "Treatment plans"). Could be more benefit-oriented.B
Psychological Triggers"Most Popular" badge uses bandwagon effect. Free tier anchors the paid tiers.B+
Interaction DesignConsistent CTA buttons per tier. "Contact Us" for Group. "No credit card needed" text.B
Trust & Friction"Consent forms & BAA-HIPAA Agreement included" at bottom is a strong trust signal for medical practices.A-
Conversion MechanicsTwo "Try for Free" buttons for Free and Personal tiers. Group tier funnels to contact.B
Technical UXThree-column responsive grid. Feature lists are vertically unbalanced.B
Source Code InsightsPricing is dynamic (SSR). Group tier links to /for-groups/schedule. Free tier exists as anchor.B

Top Recommendation: Rewrite feature lists as benefit statements ("Save 2+ hours daily" instead of "Unlimited notes") to increase conversion appeal.

Step 7: Landing Page — Security Section (Desktop)

Step 7

Grade: A-

DimensionAssessmentGrade
Visual Design"Privacy & Security" heading with HIPAA logo and medical caduceus. Six security commitment cards with consistent styling.A-
Copy Effectiveness"We don't train models on your data. We don't store any audio." — Bold emphasis on negatives is highly effective for anxious clinicians.A
Psychological TriggersAddresses the biggest AI fear (data training) head-on. Repeated emphasis on what they DON'T do builds trust.A
Interaction DesignStatic content. Scannable card layout.B+
Trust & FrictionThis is the trust section — HIPAA/HITECH compliance, data protection, Microsoft Azure BAA. Comprehensive.A
Conversion MechanicsFifth CTA "Try for Free" captures security-conscious users. Well-placed after all trust signals.A-
Technical UXClean layout. Good use of icons.B+
Source Code InsightsSecurity section has its own ID (#security) for deep linking from nav. CTA tracked as start_free_security.B+

Top Recommendation: Add a downloadable BAA/security whitepaper link for compliance-minded clinic administrators.

Step 9: Signup Page (Desktop)

Step 9

Grade: B+

DimensionAssessmentGrade
Visual DesignSplit layout: dark navy left panel with social proof, light right panel with form. Professional and clean.A-
Copy Effectiveness"Unlock More Time for What Matters" — strong emotional headline. "Join 20,000+ providers saving 2 hours a day" — specific numbers build credibility. Rotating testimonial adds social proof.A
Psychological TriggersSocial proof (20,000+ providers, 2 hours/day). Authority (MD testimonial). Loss aversion ("Unlock More Time").A
Interaction DesignGoogle OAuth + email/password. Only 2 fields. "Create Account" CTA is large and coral-colored.B+
Trust & FrictionHIPAA badge + encryption message at bottom. Terms of Use and Privacy Policy linked. "No credit card required" subhead.A-
Conversion MechanicsGoogle OAuth as primary option reduces friction. Email fallback available. Minimal form fields.B+
Technical UXPage loads fast. Form validation with Clerk. No CAPTCHA visible.A-
Source Code InsightsUses Clerk for authentication. Rotating testimonial uses radio buttons as indicators (5 testimonials). Redirect to /sign-up from /get-started.B+

Top Recommendation: Add password strength indicator and show/hide password toggle to reduce form anxiety.

Step 9M: Signup Page (Mobile)

Step 9M

Grade: B-

DimensionAssessmentGrade
Visual DesignThe entire left panel (value prop, testimonial, headline) is hidden on mobile. User only sees the form.C+
Copy Effectiveness"Create Your Twofold Account" is generic without the "Unlock More Time" framing from the left panel. "Try for free. No credit card required" is still present.B-
Psychological TriggersSocial proof and emotional messaging are completely absent on mobile signup. Major gap.C
Interaction DesignClean form layout. Fields are appropriately sized for touch. Google OAuth button is prominent.B+
Trust & FrictionHIPAA badge still at bottom. But missing the testimonial and "20,000+ providers" stat.B-
Conversion MechanicsForm works but lacks the persuasion elements that drive desktop signups.C+
Technical UXResponsive but sacrifices too much context. Form is functional.B
Source Code InsightsSplit layout uses CSS hidden class on mobile. The left panel content is rendered but display:none'd.C+

Top Recommendation: Add at least one testimonial quote and the "20,000+ providers" social proof stat above the form on mobile. The mobile signup page is stripping away all the persuasion that drives conversion.

Step 11: Onboarding — Welcome Step (Desktop)

Step 11

Grade: C+

DimensionAssessmentGrade
Visual DesignCentered card with step progress indicator (1-4). Clean but feels empty — large whitespace without purpose.C+
Copy Effectiveness"You're one step closer to stress-free documentation" — positive framing. But "Let's personalize your experience" is generic.B-
Psychological TriggersCommitment/consistency (they've signed up, now personalizing). But no urgency or excitement.C
Interaction DesignSingle "NEXT" button. Back button disabled (correct for first step). Step progress shows 4 steps ahead.B
Trust & FrictionThis step collects no data — it's pure friction. User must click through an informational screen.D
Conversion MechanicsThis is a speed bump. Every unnecessary click is a potential drop-off.D
Technical UXAuto-animated step transitions. Clean rendering.B+
Source Code InsightsFires onboarding_wizard_welcome_step_viewed event. No data mutation. No conditional logic. Pure informational step.D

Top Recommendation: Remove this step entirely. It collects no data, delivers no value, and adds friction. Merge the welcome message into the name step as a header.

Step 11M: Onboarding — Welcome Step (Mobile)

Step 11M

Grade: C

DimensionAssessmentGrade
Visual DesignEnormous amount of wasted whitespace. Logo at top, content centered in lower third. NEXT button barely visible at bottom edge.C-
Copy EffectivenessSame copy as desktop. Feels even more sparse on a small screen.C+
Psychological TriggersNo progress indicator visible on mobile (replaced by a thin progress bar at the very top). User has no sense of how many steps remain.C-
Interaction DesignNEXT button is small and pinned to bottom-right. Could easily be missed.C
Trust & FrictionSame issue as desktop — no data collected, pure friction. Worse on mobile where every screen change feels heavier.D
Conversion MechanicsOn mobile, each additional screen is more costly. This step is especially problematic on phone.D
Technical UXProgress bar is a thin line at top — almost invisible. Layout is too sparse.C-
Source Code InsightsMobile uses progressbar element instead of step progress circles. Different layout component for mobile.C

Top Recommendation: Same as desktop — eliminate this step. On mobile it's even more damaging to completion rates.

Step 12: Onboarding — Name Step (Desktop)

Step 12

Grade: B

DimensionAssessmentGrade
Visual DesignClean card with "What's your name?" heading. Two inline fields. Step 2 highlighted in progress.B+
Copy Effectiveness"What's your name?" is direct and friendly. Placeholder text "First name" / "Last name" is clear.B
Psychological TriggersPersonalization promise from welcome step pays off here — asking for name makes the experience feel tailored.B
Interaction DesignTwo fields side-by-side on desktop. NEXT disabled until both filled. BACK button available.B+
Trust & FrictionMinimal friction — only 2 fields. Pre-fills from Clerk if available (reducing effort).B+
Conversion MechanicsLow-effort step. Good that it's quick.B+
Technical UXForm validation with zod. Tracks first edits for analytics.B+
Source Code InsightsPre-fills from both Clerk auth and getUserPersonalInformation API. Tracks edit events separately per field.B+

Top Recommendation: Consider auto-filling from Google OAuth data more aggressively — if the user signed in with Google, pre-fill and auto-advance.

Step 14: Onboarding — Specialty Step (Desktop)

Step 14

Grade: B+

DimensionAssessmentGrade
Visual DesignSame card layout. Subtitle "We use this to match your clinical language and note format" explains the why.B+
Copy Effectiveness"Tell us about your practice" is clear. The subtitle gives purpose to the data collection.A-
Psychological TriggersExplaining why data is collected ("match your clinical language") increases willingness to provide it. Reciprocity — they're giving value for your data.A-
Interaction DesignSearchable dropdown for specialty. Second dropdown for practice size. Both with clear placeholders. Specialty search filters dynamically.A-
Trust & FrictionExplaining the "why" reduces perceived friction. Practice size is 4 simple options.B+
Conversion MechanicsThis data is genuinely valuable — it auto-configures templates. Good value exchange.A-
Technical UXSearch-as-you-type for specialty works well. 13+ specialties matched for "Psych" alone.A-
Source Code InsightsSpecialty selection triggers setEnabledCustomTemplatesByMedicalSpecialty — directly personalizes the product. Practice size options are hardcoded.A

Top Recommendation: Show a preview of what templates will be enabled based on specialty selection to make the value exchange more tangible.

Step 17: Onboarding — Note Preferences (Desktop)

Step 17

Grade: B

DimensionAssessmentGrade
Visual DesignChip/pill selection pattern for options. Clear grouping of two questions. "FINISH" button signals completion.B+
Copy EffectivenessQuestions are clear: "How should your client be referred to in notes?" Uses "client" language for psychotherapy context.B+
Psychological TriggersSmart defaults (psychotherapy → "The client") show the product already understands the user's domain.A-
Interaction DesignPill selection is intuitive. Pre-selected defaults reduce decision fatigue. "Other" with custom input available.B+
Trust & FrictionQuick step with sensible defaults. User can accept and move on.B
Conversion Mechanics"FINISH" button text builds anticipation — we're almost done.B+
Technical UXCheckboxes with pill styling. Zod validation for custom inputs.B
Source Code InsightsFeature-flagged step. When off, shows "You're all set!" completion step instead. Default logic reads specialty to set patient referral term.B+

Top Recommendation: Add a live preview showing how a sample note would look with the selected preferences to make this feel immediately valuable.

Step 18: NUX Dialog (Desktop)

Step 18

Grade: B+

DimensionAssessmentGrade
Visual DesignModal overlay with purple gradient header. Three clear option cards with icons. "Recommended" badge on Record option.A-
Copy Effectiveness"Welcome to Twofold!" is friendly. Each option has clear title + one-line description.B+
Psychological Triggers"Recommended" badge uses authority/default bias to guide toward recording. Progressive disclosure — three comfort levels.A-
Interaction DesignThree clickable cards. Skip button at bottom (small, secondary). Clear visual hierarchy.B+
Trust & FrictionSkip option reduces pressure. Demo and Sample options provide low-risk alternatives.A-
Conversion MechanicsGood progressive disclosure — record (high commitment), demo (medium), sample (low), skip (zero).A-
Technical UXDialog appears after 2s delay. Prefetches demo and sample routes. Overlay prevents interaction with background.B+
Source Code InsightsSkip tracked as "skip_button" vs "outside_dialog". All three options + skip permanently set didFinishNuxDialog: true. Record stays on page, Demo → /demo, Sample → /notes/{id}.A-

Top Recommendation: Make "Try a Demo Recording" more prominent — it's the safest path for uncertain users and likely has the best activation rate.

Step 18M: NUX Dialog (Mobile)

Step 18M

Grade: B

DimensionAssessmentGrade
Visual DesignTakes full screen on mobile (good — no awkward modal sizing). Cards are stacked vertically. Skip at bottom-left.B+
Copy EffectivenessSame copy. Cards are slightly truncated but readable.B
Psychological Triggers"Recommended" badge visible. Same three-tier progressive disclosure.B+
Interaction DesignFull-width cards are easy tap targets. Good for mobile. Skip button is small but accessible.B
Trust & FrictionFull-screen presentation eliminates the confusing "what's behind the dialog" problem.B+
Conversion MechanicsClear option hierarchy works on mobile. Less likely to accidentally dismiss (no outside-click on full-screen).B+
Technical UXFull-screen mode is better for mobile than the desktop overlay pattern.B+
Source Code InsightsSame component, responsive rendering. Full-screen dialog prevents the outside-click skip pattern.B

Top Recommendation: Consider making the Demo option the recommended one on mobile — users coming from Facebook ads on their phone are less likely to be in a live patient session.

Step 19: /new Page — Initial State (Desktop)

Step 19

Grade: C+

DimensionAssessmentGrade
Visual DesignSparse center-aligned form. Left sidebar with sample note. Large empty space below the capture button. Feels incomplete.C
Copy Effectiveness"New to Twofold? Try a demo session" link at top is small and easy to miss. "Patient Name" placeholder is functional but cold.C
Psychological TriggersAlmost none. No guidance, no encouragement, no reinforcement of the value they signed up for. Momentum from onboarding is completely lost.D
Interaction DesignTemplate auto-selected (SOAP Mental Health for psychotherapy). Modality defaults to "In person". Split button with dropdown chevron for alternatives.B
Trust & Friction"Your trial expires in 7 days" creates urgency but also anxiety. "Special offer: First month only $19" is premature — user hasn't experienced value yet.C-
Conversion MechanicsThe "Capture Conversation" button is the only clear CTA, but there's no guidance on what to do first. Should they enter a patient name? Select a template? Just press the button?C
Technical UXSidebar loads sample note. Top bar has trial countdown and special offer.B
Source Code InsightsnumberOfSuccessfulVisits === 0 shows demo script card. Patient context pane hidden when demo card showing. Template pre-selected by specialty.C+

Top Recommendation: Add a guided first-action experience — a tooltip, coach mark, or short instruction text that says "Ready for your first note? Press Capture Conversation during your next session, or try a demo first." The page assumes users know what to do, but after 7 screens of setup, they need a nudge.

Step 19M: /new Page — Initial State (Mobile)

Step 19M

Grade: C-

DimensionAssessmentGrade
Visual DesignTop bar is crowded: logo, promo, profile icon, trial badge all competing. Below is the sparse form. Very little visual guidance.C-
Copy Effectiveness"New to Twofold? Try a demo session" is present but small. No sidebar or context. Template shows "SOAP" (truncated from "SOAP (Mental Health)").C
Psychological TriggersZero emotional momentum. Coming from the NUX dialog's "Welcome to Twofold!" to this sparse form is jarring.D
Interaction DesignFull-width Capture Conversation button is thumb-friendly. Dropdown chevron is small but accessible. Patient Name field is clear.B-
Trust & Friction"Your trial expires in 7 days" is the first thing visible below the header. Combined with "First month only $19" — feels like a sales push, not a welcome.D+
Conversion MechanicsOn mobile, there's nothing below the capture button except "How to tell my patients" link and empty space. No sample note sidebar, no context pane. The user is alone on this page.D
Technical UXBottom tab nav shows "New Visit" and "Notes" tabs. Layout is clean but bare. Template label truncated.C
Source Code InsightsMobile uses new-visit-mobile-web-component.tsx with larger buttons (h-14). Patient context pane is disabled on mobile. No sample note visible in sidebar.C-

Top Recommendation: The mobile /new page is the #1 activation killer. Add an inline guided experience: a "Here's how it works" card with 3 simple steps, a prominent demo button, and hide the trial/pricing urgency messages for first-time users. The 65% mobile drop-off is directly explained by this empty, guidance-free, anxiety-inducing page.

Step 20: /new Page — Capture Alternatives (Desktop)

Step 20

Grade: B-

DimensionAssessmentGrade
Visual DesignDropdown shows 3 alternatives below the button: Dictate Session Summary, Text to Note, Upload Recording. Clean menu with icons.B
Copy EffectivenessOption names are clear. But they're hidden in a dropdown — many users will never discover them.C+
Psychological TriggersAlternatives reduce the pressure to record a live conversation. But they're too hidden.C
Interaction DesignSplit button pattern is standard but not intuitive for non-technical users. Many clinicians won't know to click the small chevron.C
Trust & FrictionAlternatives are the key to reducing activation friction, but their discoverability is poor.C+
Conversion MechanicsThese alternatives could be the answer to the activation bottleneck, but they're buried in a dropdown.C
Technical UXDropdown renders cleanly. Persists selection to localStorage.B
Source Code Insights4 capture types: CAPTURE_CONVERSATION, DICTATE_SESSION_SUMMARY, TEXT_TO_NOTE (→ /text-to-note), UPLOAD_RECORDING (→ /upload-recording). Selected type persisted in localStorage via Zustand.B

Top Recommendation: Surface the alternatives as visible options on the page, not hidden in a dropdown. Show them as cards or secondary buttons: "Don't have a patient right now? Dictate a summary, type your notes, or upload a recording." This alone could significantly improve activation rates.

Step 21: /new Page — Template Selector (Desktop)

Step 21

Grade: B+

DimensionAssessmentGrade
Visual DesignDropdown with "Browse Template Library" at top, followed by specialty-matched templates. Checkmark on selected template.B+
Copy EffectivenessTemplate names are professional and clinical. "Browse Template Library" encourages exploration.B+
Psychological TriggersSpecialty-matched templates show the onboarding data was used — feels personalized.A-
Interaction DesignDropdown with clear selection state. "Browse Template Library" links to full template management.B+
Trust & FrictionTemplate auto-selection from specialty reduces friction. Multiple options available without leaving page.B+
Conversion MechanicsGood that the default template is pre-selected — user doesn't need to choose to start.A-
Technical UXTemplates loaded from server. Specialty-based filtering worked correctly.B+
Source Code InsightsNoteTypeSelection component shows custom templates first, then system custom, then static. setEnabledCustomTemplatesByMedicalSpecialty auto-enables matching templates during onboarding.A-

Top Recommendation: Show a brief preview of what each template generates (section structure) on hover/tap to help users choose confidently.

Step 22: Sample Note (Desktop)

Step 22

Grade: B+

DimensionAssessmentGrade
Visual DesignClean note layout with clear section headers (Subjective, Objective). "Copy Text" and "Save Changes" buttons per section. "Magic Edit" and "Copy All" in header.B+
Copy EffectivenessSample note content is realistic and clinically accurate (anxiety disorder with panic episodes). Professional language.A
Psychological TriggersSeeing a completed note is the "aha moment" — this is what the product does. Highly effective for activation.A
Interaction DesignEditable text areas. Per-section copy buttons. Magic Edit feature visible. Patient name and metadata in header.B+
Trust & FrictionClinical quality of the sample note builds trust in the AI's capability.A
Conversion MechanicsThis is the best activation tool — but it's only accessible through the sidebar or NUX dialog "View Example Note" option.B-
Technical UXFull note rendering with all sections. Sidebar shows the note in the list.B+
Source Code InsightsSample note ID is hardcoded (sampleVisitId). Note has full SOAP structure, visit metadata (9 minutes, In person), and Tx icon for treatment plan.B+

Top Recommendation: Make the sample note more prominent in the /new page experience — show it inline or as a prominent card rather than hidden in the sidebar.


Cross-Step Analysis

Friction Map

Ranked by severity (highest drop-off risk first):

  1. 🔴 /new page → First recording (Step 19/19M) — The activation cliff. 50% desktop / 65% mobile drop-off. Sparse page, no guidance, no emotional momentum, hidden alternatives.

  2. 🟠 NUX dialog → Skip (Step 18/18M) — Users who skip bypass the guided paths (demo, sample). They land on /new with zero context. Skip rate should be tracked and minimized.

  3. 🟡 Welcome step (Step 11/11M) — Pure friction. No data collected. Every unnecessary screen reduces completion rate by ~5-10%.

  4. 🟡 Landing page CTA → Signup page (mobile) (Step 1M → 9M) — Mobile signup loses all the left-panel persuasion content. Users go from rich messaging to a bare form.

  5. 🟢 Specialty step → Note preferences (Step 14 → 17) — Minor friction but justified by personalization value.

Value Delivery Timeline

SIGNUP                                            FIRST VALUE
  │                                                    │
  ├── Welcome (no value) ──────────────────────────────┤
  ├── Name (no value) ─────────────────────────────────┤
  ├── Specialty (personalization promise) ──────────────┤
  ├── Note Preferences (personalization promise) ──────┤
  ├── NUX Dialog (value preview if Demo/Sample) ───────┤
  ├── /new Page (WAITING for user action) ─────────────┤
  │                                                    │
  └── User creates first note ─────────────────────────┘
                                                    ↑
                                        THIS IS TOO LATE

The first real value experience requires the user to complete 7-8 screens AND then take a high-commitment action (recording a conversation). The NUX dialog's "View Example Note" option is the closest thing to early value delivery, but it requires the user to actively choose it.

Recommendation: Show a sample note output during onboarding (e.g., after specialty selection) to deliver value before asking for the final commitment on /new.

Drop-Off Risk Assessment

TransitionRisk LevelEstimated Drop-OffWhy
Landing → SignupLow5-15%Strong CTA, clear value prop
Signup → OnboardingVery Low2-5%No email verification, seamless redirect
Welcome → NameMedium5-10%Unnecessary screen, adds friction
Name → SpecialtyLow3-5%Quick step, low effort
Specialty → Note PrefsLow3-5%Smart defaults reduce friction
Note Prefs → NUXVery Low1-2%"FINISH" creates completion motivation
NUX → /newLow5-10%Dialog is clear, but skip = lost guidance
/new → First actionVery High50% desktop / 65% mobileSparse page, no guidance, high commitment

Information Architecture

What's asked too early:

  • Welcome step (no data needed — eliminate)

What's asked at the right time:

  • Name, Specialty, Note Preferences — all collected before the product experience, used to personalize it

What's missing:

  • Use case / intent ("Are you here to try it out, or ready to use it with patients?") — this would help route users to demo vs. live recording
  • Primary workflow ("Do you mostly see patients in person or via telehealth?") — would improve modality default

/new Page Activation Analysis

The /new page is the critical activation bottleneck. Here is a dedicated analysis:

Is it immediately clear what the user should do first? No. The page shows Patient Name, Template, Modality, and Capture Conversation — four different elements with no indication of where to start. A clinician who just finished onboarding doesn't know if they need to fill in a patient name first, select a template, or just press the button.

Would a non-tech-savvy clinician from a Facebook ad know what to do? Unlikely. The page assumes familiarity with the product concept. A clinician coming from a Facebook ad that promised "AI-generated notes" sees a sparse form with a microphone button. The connection between pressing the button and getting notes is not obvious. The "New to Twofold? Try a demo session" link is too subtle.

Are alternatives to live recording visible and accessible? No — they're hidden in a small dropdown chevron next to the Capture Conversation button. The landing page prominently featured "Dictate a summary" and "Upload your notes" as alternatives, but on /new, they're buried. This is a major disconnect between the marketing promise and the product experience.

Does the page build confidence or create anxiety? Anxiety. Multiple factors:

  • "Your trial expires in 7 days" countdown
  • "Special offer: First month only $19" pricing pressure
  • Empty patient name field (implies they need a patient ready)
  • No explanation of what happens when they press the button
  • No sample output showing what to expect

What's missing that could guide users toward their first action?

  • Guided onboarding prompt ("Ready for your first note? Here's how:")
  • Visible alternative actions (dictate, text, upload) as first-class options
  • A sample note preview or "what you'll get" visualization
  • Encouragement text ("It's okay to try with a demo first")
  • Progress/checklist ("Complete your first note to unlock your trial")

How does the mobile experience differ — is the drop-off explainable by the mobile UI? Yes, the mobile drop-off (65% vs 50% desktop) is directly explainable:

  1. No sidebar — Mobile users don't see the sample note in the sidebar, losing the "this is what you'll get" anchor.
  2. No patient context pane — Desktop large screens show treatment plan and assistant tabs. Mobile has nothing.
  3. Crowded header — Trial countdown + pricing promo compete for attention.
  4. Truncated template name — "SOAP" instead of "SOAP (Mental Health)" reduces clarity.
  5. No emotional context — On mobile, the transition from NUX dialog to /new is especially jarring. The warm "Welcome to Twofold!" becomes a cold utility screen.
  6. Facebook ad users are often on mobile — These are the least committed users, seeing the most bare-bones experience.

Overall UX Scorecard

DimensionScore (1-10)Key Finding
Visual Design7Landing page is polished; app pages are functional but sparse
Copy Effectiveness7.5Strong marketing copy; weak in-app guidance copy
Psychological Triggers6Great on landing page; almost zero on activation pages
Interaction Design7Smart defaults and personalization; split button is non-intuitive
Trust & Friction7HIPAA messaging is excellent; trial countdown creates anxiety
Conversion Mechanics5.5Good landing→signup; poor /new→first action conversion
Technical UX7.5Fast loads, good tracking, responsive; mobile misses features
Source Code Insights8Feature flags, smart defaults, comprehensive analytics. Well-engineered.
Overall6.9Strong top-of-funnel, weak bottom-of-funnel activation

Top 10 Recommendations

  1. Remove the Welcome Step — It collects no data and adds pure friction. Merge the heading into the name step.

    • Impact: Medium
    • Effort: Low
    • Priority: P0
  2. Redesign the /new Page with Guided Activation — Add a first-time user experience with step-by-step guidance, visible alternatives (not hidden in dropdown), and a sample note preview. Show "what you'll get" before asking users to act.

    • Impact: High
    • Effort: Medium
    • Priority: P0
  3. Surface Capture Alternatives as Visible Options — Show Dictate, Text to Note, and Upload Recording as first-class choices on /new, not hidden in a dropdown. Match the landing page's "Prefer not to capture?" messaging.

    • Impact: High
    • Effort: Low
    • Priority: P0
  4. Add Social Proof to Mobile Signup — Restore at least one testimonial and the "20,000+ providers" stat to the mobile signup page. Currently all persuasion is stripped away.

    • Impact: Medium
    • Effort: Low
    • Priority: P1
  5. Hide Trial Countdown for First Session — Don't show "Your trial expires in 7 days" and "$19 first month" on the user's first visit to /new. Replace with encouragement and guidance. Pricing pressure before value experience is counterproductive.

    • Impact: Medium
    • Effort: Low
    • Priority: P1
  6. Make Demo the Recommended Option on Mobile NUX — Mobile users coming from ads are unlikely to have a patient in front of them. Recommend the demo path on mobile to drive activation through the safest path.

    • Impact: Medium
    • Effort: Low
    • Priority: P1
  7. Show Sample Note During Onboarding — After specialty selection, show a preview of a generated note for their specialty. This delivers the "aha moment" before they even reach /new.

    • Impact: High
    • Effort: Medium
    • Priority: P1
  8. Add Inline Help to /new Page — A "How it works" expandable section or tooltip on the Capture Conversation button explaining: press to start, speak naturally, end when done, get your note.

    • Impact: Medium
    • Effort: Low
    • Priority: P1
  9. Improve Mobile Onboarding Progress Visibility — The thin progress bar at the top is nearly invisible. Add step count text ("Step 2 of 4") or a more visible progress indicator.

    • Impact: Low
    • Effort: Low
    • Priority: P2
  10. Add Intent-Based Routing — Ask during onboarding: "What brings you here today?" with options like "Try it out with a demo", "Use it in my next session", "Explore the product." Route each answer to the appropriate first action to match user readiness.

    • Impact: High
    • Effort: Medium
    • Priority: P2