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

121 lines
5.5 KiB
Markdown

# 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)
4. **No audit/security credentials visible** — Sarah and Priya both flagged this. Link to audit report, bug bounty, or security practices.
5. **No source code link** — Institutional users want to verify. Link to Codeberg repo.
6. **Data freshness unclear** — Priya noted: "No indication if data is live or stale." Add timestamps or "live" indicators.
7. **No copy button for contract addresses** — Minor but Priya flagged it for verification workflow.
### 🟢 Nice to Have
8. **Protocol parameters not displayed** — Advanced users want to see CI, AS, AW values.
9. **Step-by-step getting started guide on landing** — Exists on docs but not on landing page.
10. **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