harb/USERTEST-REPORT-V2.md
2026-02-18 00:19:05 +01:00

5.5 KiB

Kraiken User Test Report v2

Date: 2026-02-14
Branch: feat/ponder-lm-indexing
Stack: Local fork (Anvil + Bootstrap + Ponder + Web-app + Landing)

Executive Summary

Two test suites targeting distinct user funnels:

  • Test A (Passive Holder): 9/9 passed — Landing page → Get KRK → Return value
  • Test B (Staker): 7/12 passed (3 stake execution timeouts, 2 skipped) — Staking UI evaluation + docs audit

The tests surface actionable UX friction across both funnels. Core finding: the passive holder funnel converts degens but loses newcomers and yield farmers.


Test A: Passive Holder Journey

Tyler — Retail Degen ("sell me in 30 seconds")

Metric Result
Would buy Yes
Would return No
Friction Landing page is one-time conversion, no repeat visit value

Key insight: Degens convert on first visit but have no reason to come back. The landing page needs live stats or a reason to revisit.

Alex — Newcomer ("what even is this?")

Metric Result
Would buy No
Would return No
Friction No beginner explanation, no trust signals, no step-by-step guide, unclear value prop

Key insight: Newcomers bounce. The landing page assumes crypto literacy. Needs: "What is this?" section, social proof, getting started guide.

Sarah — Yield Farmer ("is this worth my time?")

Metric Result
Would buy No
Would return No
Friction No APY/yield display, no risk indicators, no audit info, can't verify liquidity, no monitoring tools

Key insight: Yield farmers need numbers upfront. Without APY estimates, risk metrics, or audit credentials, they won't invest time to understand the protocol.


Test B: Staker Journey

Priya — Institutional ("show me the docs")

Steps completed: Setup , Documentation audit , UI quality , Stake execution ⏱ (timeout)

Documentation Audit:

  • Documentation link visible
  • Found 5 contract addresses — can verify on Etherscan
  • ⚠ No copy button for addresses — minor friction
  • Audit report accessible
  • ⚠ Protocol parameters not displayed
  • ⚠ No source code link (Codeberg/GitHub)

UI Quality:

  • Found 39 precise numbers — good data quality
  • ⚠ No indication if data is live or stale
  • Input validation present
  • Clear units on all values

Marcus — Degen/MEV ("where's the edge?")

Steps completed: Setup , Interface analysis , Stake execution ⏱ (timeout)

Sarah — Yield Farmer ("what are the risks?")

Steps completed: Setup , Risk evaluation , Stake execution ⏱ (timeout)

Note: Stake execution tests timeout because the test wallet interaction (fill amount → select tax → click stake) doesn't match the actual UI component structure. This is a test scaffolding issue, not a UX issue.


Findings by Priority

🔴 Critical (Blocking Conversion)

  1. No APY/yield indicator on landing page — Yield farmers and passive holders need a number to anchor on. Even "indicative rate" or "protocol performance" would help.
  2. No beginner explanation — Newcomers have zero context. Need a "What is Kraiken?" section in plain English.
  3. Landing page is one-time only — No reason to return after first visit. Protocol Health section exists but needs real data.

🟡 Important (Reduces Trust)

  1. No audit/security credentials visible — Sarah and Priya both flagged this. Link to audit report, bug bounty, or security practices.
  2. No source code link — Institutional users want to verify. Link to Codeberg repo.
  3. Data freshness unclear — Priya noted: "No indication if data is live or stale." Add timestamps or "live" indicators.
  4. No copy button for contract addresses — Minor but Priya flagged it for verification workflow.

🟢 Nice to Have

  1. Protocol parameters not displayed — Advanced users want to see CI, AS, AW values.
  2. Step-by-step getting started guide on landing — Exists on docs but not on landing page.
  3. Social proof / community links — Tyler would convert faster with Discord/Twitter presence visible.

Recommendations

For Passive Holders (Landing Page)

  1. Add indicative APY or protocol performance metric (even with disclaimer)
  2. Add "What is Kraiken?" explainer in 2-3 sentences for newcomers
  3. Make Protocol Health section show live data (holder count, ETH reserve, supply growth)
  4. Add trust signals: audit link, team/project background, community links
  5. Add "Last updated" timestamps to stats

For Stakers (Web App)

  1. Add copy button next to contract addresses
  2. Add data freshness indicator (live dot, last updated timestamp)
  3. Link to source code (Codeberg repo)
  4. Display protocol parameters (current optimizer settings)

For Both

  1. The ProtocolStatsCard component was built (commit a0aca16) but needs integration into the landing page with real Ponder data
  2. Bootstrap V3 swap is broken (sqrtPriceLimitX96=0 gives empty swap) — not blocking for mainnet but blocks local testing

Test Infrastructure Notes

  • buyKrk helper uses direct KRK transfer from deployer (Anvil #0) — V3 pool swap broken on local fork due to pool initialization at min tick
  • Stake execution tests need UI component alignment — test expects getByLabel(/staking amount/i) but actual component may use different structure
  • Chain snapshots work correctly for state isolation between personas
  • Test A is fully stable and can be run as regression