Behavioral Nudge Engine
Behavioral psychology patterns for maximizing user motivation without manipulation.
StartupAI Integration
This knowledge feeds into:
- Dashboard: Streak counters, milestone celebrations, smart alerts, daily focus card
- Onboarding Wizard: Step-by-step guidance with progress reinforcement
- Task Management: Priority surfacing (show 1 critical item, not 50 pending)
- AI Chat: Encouraging tone calibration, micro-win recognition
- Sprint Planning: Momentum-building task sequencing
Cognitive Load Reduction
Core Principle
Overwhelming users with massive task lists causes paralysis and churn. Always reduce to the smallest actionable next step.
Patterns
- Show 1, not 50: If a user has 50 pending items, surface the single most critical one
- Progressive disclosure: Reveal complexity only when the user is ready (wizard steps, not a 20-field form)
- Smart defaults: Pre-fill with best-guess values so the user approves rather than creates from scratch
- Decision reduction: "I drafted this for you. Send it, or edit first?" beats "Write a response to this review"
- Chunking: Break large workflows into 3-5 minute micro-sprints with clear completion points
Anti-Patterns to Avoid
- Generic notification blasts ("You have 14 unread items")
- Showing all incomplete tasks at once without hierarchy
- Requiring decisions before providing context
- Auto-playing tutorials when the user wants to work
Momentum Building
Streaks and Micro-Wins
- Track daily engagement streaks (consecutive days with at least one completed action)
- Celebrate small completions: "3 tasks done today" matters more than "97 remaining"
- Use the progress bar effect: show how close to a meaningful milestone (profile 85% complete)
- Offer continuation prompts: "Nice work! Want to do 5 more minutes, or call it for today?"
Progress Indicators
- Completion percentages for multi-step processes (wizard, canvas, profile)
- "You're ahead of X% of founders at this stage" social proof benchmarks
- Visual progress rings that animate on completion
- Milestone unlocks: completing validation unlocks lean canvas features
Positive Reinforcement
- Celebrate the process, not just outcomes ("Your discovery quality improved" not just "Deal closed")
- Time-saved callouts: "That took 2 minutes. Without AI, founders typically spend 3 hours on this."
- Compound progress: "This week: 5 tasks done, canvas updated, 2 investor conversations tracked"
Gamification Without Manipulation
Ethical Guidelines
- Never create false urgency (fake countdown timers, artificial scarcity)
- Never withhold essential features behind engagement walls
- Always provide clear opt-out paths ("Skip this" / "Remind me later" / "Don't show again")
- Rewards should reflect genuine progress, not just platform engagement
Effective Patterns
- Achievement badges tied to real milestones (first validation, first investor meeting)
- Leaderboards only against the user's own past performance, never other founders
- Variable rewards: occasionally surface unexpected insights ("I noticed your market grew 15%")
- Completion satisfaction: the feeling of checking off a well-designed checklist
Focus Protection
Respect Deep Work
- Honor user-specified focus hours (no notifications during blocked time)
- Batch non-urgent nudges into a single daily digest rather than interrupting throughout the day
- If a user ignores daily nudges, autonomously switch to weekly summary format
- Distinguish urgent (pipeline deal closing tomorrow) from important (update your canvas)
Channel Adaptation
- Track which nudge channels get responses (in-app, email, push)
- If engagement drops on a channel, pause and ask preference rather than increasing volume
- Morning nudges for planning, afternoon nudges for execution, evening for reflection
- Never more than 3 nudges per day unless user-initiated
StartupAI Trigger Map
Specific nudge triggers mapped to screens and CTAs:
| Trigger |
Detection |
Screen |
Type |
CTA |
Snooze |
| Empty canvas box (any of 9 boxes blank) |
canvas_data[box] === null |
Lean Canvas |
Suggestion (blue) |
"Fill in [box name]" |
24h |
| Stale sprint (no task moved in 7 days) |
MAX(sprint_tasks.updated_at) < NOW() - 7d |
Sprint Board |
Warning (amber) |
"Review sprint tasks" |
24h |
| Low coverage score (validator < 50%) |
validation_reports.score < 50 |
Dashboard |
Warning (amber) |
"Continue validation chat" |
24h |
| No validation run (0 reports) |
COUNT(validation_reports) = 0 |
Dashboard |
Progress (green) |
"Validate your idea" |
24h |
| Incomplete profile (< 80% fields) |
Profile completion calculation |
Dashboard |
Progress (green) |
"Complete your profile" |
24h |
localStorage State Management
Nudge state uses localStorage with these key patterns:
nudge:{triggerKey}:dismissed -> boolean (permanent until trigger condition changes)
nudge:{triggerKey}:snoozedUntil -> ISO timestamp (expires after 24h)
State Check Logic
function shouldShowNudge(triggerKey: string): boolean {
const dismissed = localStorage.getItem(`nudge:${triggerKey}:dismissed`)
if (dismissed === 'true') return false
const snoozedUntil = localStorage.getItem(`nudge:${triggerKey}:snoozedUntil`)
if (snoozedUntil && new Date(snoozedUntil) > new Date()) return false
return true // Show the nudge
}
NudgeBanner Component Contract
interface NudgeBannerProps {
triggerKey: string
type: 'progress' | 'suggestion' | 'warning'
message: string
ctaLabel: string
ctaPath: string
onDismiss: () => void
onSnooze: () => void
}
Implementation Checklist
1---2name: behavioral-nudge3description: Behavioral Nudge Engine4---5# Behavioral Nudge Engine67> Behavioral psychology patterns for maximizing user motivation without manipulation.89## StartupAI Integration1011This knowledge feeds into:12- **Dashboard**: Streak counters, milestone celebrations, smart alerts, daily focus card13- **Onboarding Wizard**: Step-by-step guidance with progress reinforcement14- **Task Management**: Priority surfacing (show 1 critical item, not 50 pending)15- **AI Chat**: Encouraging tone calibration, micro-win recognition16- **Sprint Planning**: Momentum-building task sequencing1718## Cognitive Load Reduction1920### Core Principle21Overwhelming users with massive task lists causes paralysis and churn. Always reduce to the smallest actionable next step.2223### Patterns24- **Show 1, not 50**: If a user has 50 pending items, surface the single most critical one25- **Progressive disclosure**: Reveal complexity only when the user is ready (wizard steps, not a 20-field form)26- **Smart defaults**: Pre-fill with best-guess values so the user approves rather than creates from scratch27- **Decision reduction**: "I drafted this for you. Send it, or edit first?" beats "Write a response to this review"28- **Chunking**: Break large workflows into 3-5 minute micro-sprints with clear completion points2930### Anti-Patterns to Avoid31- Generic notification blasts ("You have 14 unread items")32- Showing all incomplete tasks at once without hierarchy33- Requiring decisions before providing context34- Auto-playing tutorials when the user wants to work3536## Momentum Building3738### Streaks and Micro-Wins39- Track daily engagement streaks (consecutive days with at least one completed action)40- Celebrate small completions: "3 tasks done today" matters more than "97 remaining"41- Use the progress bar effect: show how close to a meaningful milestone (profile 85% complete)42- Offer continuation prompts: "Nice work! Want to do 5 more minutes, or call it for today?"4344### Progress Indicators45- Completion percentages for multi-step processes (wizard, canvas, profile)46- "You're ahead of X% of founders at this stage" social proof benchmarks47- Visual progress rings that animate on completion48- Milestone unlocks: completing validation unlocks lean canvas features4950### Positive Reinforcement51- Celebrate the process, not just outcomes ("Your discovery quality improved" not just "Deal closed")52- Time-saved callouts: "That took 2 minutes. Without AI, founders typically spend 3 hours on this."53- Compound progress: "This week: 5 tasks done, canvas updated, 2 investor conversations tracked"5455## Gamification Without Manipulation5657### Ethical Guidelines58- Never create false urgency (fake countdown timers, artificial scarcity)59- Never withhold essential features behind engagement walls60- Always provide clear opt-out paths ("Skip this" / "Remind me later" / "Don't show again")61- Rewards should reflect genuine progress, not just platform engagement6263### Effective Patterns64- Achievement badges tied to real milestones (first validation, first investor meeting)65- Leaderboards only against the user's own past performance, never other founders66- Variable rewards: occasionally surface unexpected insights ("I noticed your market grew 15%")67- Completion satisfaction: the feeling of checking off a well-designed checklist6869## Focus Protection7071### Respect Deep Work72- Honor user-specified focus hours (no notifications during blocked time)73- Batch non-urgent nudges into a single daily digest rather than interrupting throughout the day74- If a user ignores daily nudges, autonomously switch to weekly summary format75- Distinguish urgent (pipeline deal closing tomorrow) from important (update your canvas)7677### Channel Adaptation78- Track which nudge channels get responses (in-app, email, push)79- If engagement drops on a channel, pause and ask preference rather than increasing volume80- Morning nudges for planning, afternoon nudges for execution, evening for reflection81- Never more than 3 nudges per day unless user-initiated8283## StartupAI Trigger Map8485Specific nudge triggers mapped to screens and CTAs:8687| Trigger | Detection | Screen | Type | CTA | Snooze |88|---------|-----------|--------|------|-----|--------|89| Empty canvas box (any of 9 boxes blank) | `canvas_data[box] === null` | Lean Canvas | Suggestion (blue) | "Fill in [box name]" | 24h |90| Stale sprint (no task moved in 7 days) | `MAX(sprint_tasks.updated_at) < NOW() - 7d` | Sprint Board | Warning (amber) | "Review sprint tasks" | 24h |91| Low coverage score (validator < 50%) | `validation_reports.score < 50` | Dashboard | Warning (amber) | "Continue validation chat" | 24h |92| No validation run (0 reports) | `COUNT(validation_reports) = 0` | Dashboard | Progress (green) | "Validate your idea" | 24h |93| Incomplete profile (< 80% fields) | Profile completion calculation | Dashboard | Progress (green) | "Complete your profile" | 24h |9495## localStorage State Management9697Nudge state uses localStorage with these key patterns:9899```100nudge:{triggerKey}:dismissed -> boolean (permanent until trigger condition changes)101nudge:{triggerKey}:snoozedUntil -> ISO timestamp (expires after 24h)102```103104### State Check Logic105106```typescript107function shouldShowNudge(triggerKey: string): boolean {108 const dismissed = localStorage.getItem(`nudge:${triggerKey}:dismissed`)109 if (dismissed === 'true') return false110111 const snoozedUntil = localStorage.getItem(`nudge:${triggerKey}:snoozedUntil`)112 if (snoozedUntil && new Date(snoozedUntil) > new Date()) return false113114 return true // Show the nudge115}116```117118### NudgeBanner Component Contract119120```typescript121interface NudgeBannerProps {122 triggerKey: string123 type: 'progress' | 'suggestion' | 'warning'124 message: string125 ctaLabel: string126 ctaPath: string127 onDismiss: () => void128 onSnooze: () => void129}130```131132## Implementation Checklist133- [ ] Daily focus card shows 1 priority action with clear CTA134- [ ] Wizard progress bar with step completion animation135- [ ] Profile/canvas completion percentage with next-step suggestion136- [ ] Streak counter on dashboard (days active, tasks completed this week)137- [ ] Milestone celebration modals (first report, first deck, first investor added)138- [ ] Smart notification batching (digest mode vs. real-time for urgent only)139- [ ] "Call it for today" off-ramp after any completed session