Crisis Mode is an intelligent intervention system that prevents rash FPL decisions, specifically -4 point hits and emotional transfers.
Crisis Mode activates when ANY of these conditions are met:
- User attempts more transfers than available free transfers
- Hit value: -4, -8, -12, etc.
- Transferring OUT a player with next 3 fixtures rated "Easy" (difficulty β€ 2.5)
- Transferring IN a player with next 3 fixtures rated "Hard" (difficulty β₯ 4.0)
- Player transferred out scored < 2 points last GW
- User makes transfer within 2 hours of deadline
- Pattern: Same player transferred out/in within 3 GWs
- Transferring out a top-10 owned player
- For a player with < 5% ownership and no recent form
- Transferring out your current captain
- Without having a clear replacement captain
ββββββββββββββββββββββββββββββββββββββββββββ
β β οΈ CRISIS MODE ACTIVATED β οΈ β
β βββββββββββββββββββββββββββββββββββββββββββ£
β β
β You're about to take a -4 hit for: β
β β Salah β Son β
β β
β π΄ This may cost you 12 points β
β over the next 5 gameweeks β
β β
ββββββββββββββββββββββββββββββββββββββββββββ
Visual Design:
- Red pulsing border (animation)
- Warning siren sound (optional)
- Full-screen overlay with blur
- Cannot be dismissed immediately (5-second delay)
Three data-driven alternatives presented:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π‘ ALTERNATIVE STRATEGIES β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1οΈβ£ KEEP & CAPTAIN β
β Keep Salah, captain him vs BOU (H) β
β Projected: 8-12 points β
β [Select This] β
β β
β 2οΈβ£ WAIT FOR PRESSERS β
β Son has ankle knock - wait for news β
β Set reminder for Friday 19:00 β
β [Remind Me] β
β β
β 3οΈβ£ DIFFERENTIAL PICK β
β Consider Isak (4% owned, 3G in 2) β
β Projected: 6-10 points, better fixtures β
β [Compare Stats] β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Side-by-side player comparison:
βββββββββββββββββββ¬ββββββββββββββββββ
β MO SALAH β SON β
β (Keep) β (Transfer In) β
βββββββββββββββββββΌββββββββββββββββββ€
β Β£12.5m β Β£9.7m β
β Form: 8.5 β Form: 4.2 β¬οΈ β
β Next 3: π’π’π‘ β Next 3: π‘π΄π΄ β
β xG: 4.2 β xG: 1.8 β
β %Owned: 45% β %Owned: 22% β
β Captain %: 35% β Captain %: 8% β
βββββββββββββββββββ΄ββββββββββββββββββ
Color-coded next 5 gameweeks:
Fixtures:
π’ BOU (H) π’ LUT (A) π‘ WHU (H) π’ BRE (A) π’ SHU (H)
Easy Easy Medium Easy Easy
- Primary CTA - Largest button
- Saves transfer to "Pending" state
- Sends reminder notification before deadline
- Tracks if user still wants transfer after cooling off
ββββββββββββββββββββββ
β π§ Impulse Score β
β β
β This Season: 3/10 β
β π’ Good control β
β β
β You avoided 12 β
β potential hits! β
ββββββββββββββββββββββ
- 10-second countdown before "Confirm Transfer" is clickable
- Shows rotating tips: "Did you check the fixtures?"
π° Opportunity Cost:
-4 hit this GW
+ Potential captain points lost
= -8 to -16 projected points
Over 5 GWs: -12 points expected
- Tracks rash vs. thoughtful decisions
- Rewards: "Cool-headed Manager" badge
- Season-long metric displayed on profile
π₯ Community Data:
β’ 78% of top 10k kept Salah this GW
β’ 12% transferred him out (avg rank drop: 45k)
β’ Only 3% brought in Son
π€ AI Analysis (Kimi-powered):
"Based on fixture difficulty, form, and
historical data, this transfer has a
73% chance of losing points over 5 GWs."
- Create
crisisDetector.tsutility - Define trigger conditions
- Hook into transfer confirmation flow
-
CrisisModalcomponent -
AlternativeStrategiespanel -
StatsComparisonview -
FixtureVisualizercomponent
- AI prediction integration
- Community data aggregation
- Impulse scoring system
- "Sleep On It" reminders
- Animations & sound
- Settings (toggle Crisis Mode)
- Analytics dashboard
- Mobile optimization
lib/
crisis/
detector.ts # Trigger logic
analyzer.ts # Opportunity cost calc
scorer.ts # Impulse score tracking
components/
crisis/
CrisisModal.tsx # Main intervention UI
AlternativePanel.tsx # Strategy options
StatsComparison.tsx # Side-by-side view
FixtureViz.tsx # Fixture difficulty
ImpulseBadge.tsx # Score display
store/
crisisStore.ts # Zustand for crisis state
// teamStore.ts - Add crisis check before transfer
confirmTransfer: () => {
const crisis = detectCrisis(get().transfers);
if (crisis.shouldIntervene) {
set({ crisisAlert: crisis });
return; // Block transfer, show modal
}
// Proceed with transfer...
}- Crisis Mode can call AI for prediction
- "Should I make this transfer?" β AI analysis
- "Sleep On It" β Push notification before deadline
- Weekly: "You avoided X hits this week!"
- Intervention Rate - How often Crisis Mode triggers
- Compliance Rate - Users who change decision after alert
- Points Saved - Estimated points preserved
- Impulse Score Distribution - User behavior trends
- User Satisfaction - "This saved my season" feedback
/* Crisis Mode Colors */
--crisis-red: #ef4444;
--crisis-orange: #f97316;
--crisis-glow: 0 0 20px rgba(239, 68, 68, 0.5);
/* Animations */
@keyframes pulse-warning {
0%, 100% { border-color: var(--crisis-red); }
50% { border-color: var(--crisis-orange); }
}
/* Cooldown Timer */
--cooldown-duration: 10s;Designed by Gotchi N - 2026-02-03