Trunk N Norrland
N
C
S

Add You may also like empty state to /cart

N
Nora
·opened 2h ago· branch 7-add-recs-empty-state
Phase 1
Analyze
Sam · PM
done
Phase 2
Document
Sam · PM + Ravi · TL
done
Phase 3
Design
Nora · Designer + Sam · PM
in progress
Phase 4
Approve
Alex · EM
waiting
Phase 5
Code
Chen, Mira
2/6 slices merged
Phase 6
Deploy
On-call
not started
Track each phase below · gates unlock in order.
Edit lifecycle →
✓
Phase 1 · Analyze
why we're doing this
Open in Signals ↗
Cart → checkout
32.4%
↓ 4.2% MoM
Recs slot CTR
0.8%
Empty 60% of sessions
Session length · /cart
−18%
Empty-slot cohort
✓
PM signed · Sam · 2h ago
Same metrics wire back to Deploy for post-ship validation.
✓
Phase 2 · Document
the PRD
Open full doc ↗
Cart recs empty state
PRD · Nora · last edited 45m ago · 5 sections · 2 comments
signed
Excerpt · Problem
Cart-to-checkout dropped 4.2% MoM. The You may also like slot is empty in 60% of sessions — recs engine warms up slowly. When the slot is blank, users perceive the page as unfinished and abandon. Fix: a friendly empty state that keeps sessions alive and routes back to /shop…
✓
PM · Sam
✓
Tech Lead · Ravi
Both gate signers approved · phase unlocked
◐
Phase 3 · Design
what changes
All 5 categories in fixed order · empty categories show explicit "no changes"
Styles no change
No style changes in this delta — binds to existing tokens only (--surface-1, --brand-400, --radius-lg, --space-3).
Open Styles →
Components 2 changed
RecommendedItemsCard · + empty variant · StoreHeader · ~ modified (conflict)
Open Components →
Pages 1 changed
/cart · slot now renders the new .empty variant when recs return nothing. No structural change to the page.
Open Pages →
Journey 1 edge added
New back-to-shop path: /cart → /shop via the empty-state CTA. Purchase-funnel journey re-derived.
Open Journey →
Assets 1 added
illus/recs-warming.svg · 120×100 · uses brand-500 + brand-300 tokens.
Open Assets →
✓
Designer · Nora
◐
PM · Sam · reviewing
◯
Phase 4 · Approve
EM · cost + team split
Waiting on Design phase
A
Alex · Engineering Manager
Will approve cost estimate + slice team split after Design signs.
waiting
◐
Phase 5 · Code
6 slices · 2/6 slices merged
Open task board ↗
Frontend · 2Backend · 1CI/CD · 1Misc · 1Backlog · 1
✓
7-1 Frontend Layout · RecommendedItemsCard.EmptyState
C
Chen
#3421 Merged
◐
7-2 Frontend Illustration + final copy
N
Nora
#3428 Review
◐
7-3 Backend Analytics event · cart.recs_empty_shown
M
Mira
api#912 Review
✓
7-4 CI/CD Visual regression test · /cart empty states
C
Chen
#3419 Merged
◯
7-5 Misc Localise headline + sub-copy · sv_SE, no_NO, fi_FI
unassigned · blocked by 7-2
▪
7-6 Backlog Personalised picks from prior order history
deferred by Alex
◐
Tech Lead · Ravi · gate opens when all critical slices are green
◯
Phase 6 · Deploy
rollout + post-ship validation
not started
Environments
Preview
live
7-add-recs-empty-state.preview.norrland.dev
auto-deploys on every merge
Staging
waiting
staging.norrland.dev
Unblocked on Approve + all slices merged
Production
waiting
norrland.shop
Needs on-call sign-off
Post-ship validation · 30-day window
Cart → checkout
baseline 32.4% · target ≥ 34%
Session length
baseline −18% · target ≥ +10%
Bounce rate
baseline — · target ≥ −2 pts
Watching
/cart · errors/cart · p99 latencyRecommendedItemsCard · errors/shop · uptime (CTA target)
All watched signals are healthy. No regressions since deploy — 0m ago (not shipped yet).
◐
On-call engineer signs rollout to production
Activity · Comments
Anchored to primitives · survives HTML restructuring.
S
SamPMonRecsEmptyState › CTA· 1h ago
Copy works. Maybe "Keep exploring" instead of "Keep browsing"? Browsing feels aimless — exploring feels intentional.
N
NoraCopy variantsonRecsEmptyState › Sub-copy· 45m ago
Tried three sub-copy variants. Top hit: "Add one more item and shipping's on us." — +41% click-through.