WebInfer

3.9 / 5

Shake to Decide

Shake your phone, AI makes a decision based on your context

Fun
Instant
Offline

The Problem

Decision fatigue leads to either paralysis or poor choices

Current Solutions (Not Great)

Coin flips (no context), asking friends (slow), pro/con lists (tedious)

Who Needs This

Indecisive people, overthinkers, couples who can't pick restaurants

Decision fatigue is real. Shake to Decide turns your phone into a context-aware magic 8-ball. But instead of random answers, it actually considers what you've told it. 'Should I go to the gym or rest?' Shake. The AI weighs your recent activity, the time of day, what you mentioned about being tired, and gives you a reasoned nudge—not just 'yes' or 'no' but 'Rest today, you mentioned your knee was sore and you worked out 3 days straight.' It's delightfully physical and surprisingly useful.

Honest Take

Fun novelty with viral potential, but the decision-making app market is pretty saturated. The physical shake gesture + AI context combo is genuinely unique though, and could get social media traction if the UX feels magical enough.

Monetization Ideas
Ways to turn this into revenue

Free / Open Source

GitHub stars, Twitter followers, job opportunities

Ad-Supported

$1-5 CPM, needs volume

Donations / Tip Jar

$5-50/month from grateful users

Features
Key features that make this app valuable
  • Shake detection triggers decision
  • Context input before shaking (what's the decision?)
  • AI weighs factors and gives reasoned answer
  • Haptic feedback on shake recognition
  • Decision history log
  • Follow-up 'Why?' explanation
  • Couple mode (both shake, AI mediates)
  • Customizable shake sensitivity
Build Prompt
Use this prompt with an AI assistant to start building
Build a React PWA called 'Shake to Decide' using WebInfer and DeviceMotion API. UI: large input field for decision/dilemma, shake instruction animation, result card with reasoning. Listen to DeviceMotion events, detect shake when acceleration > threshold (e.g., 15 m/s²) for 3+ events in 500ms. On shake: vibrate (navigator.vibrate(200)), show loading animation, call AI. Use generateObject to return { decision: string, confidence: 'certain'|'leaning'|'coin-flip', reasoning: string, factors: [{ factor: string, weight: 'for'|'against'|'neutral' }], followUp: string }. Display result with dramatic reveal animation. Store decisions in localStorage for history. 'Why?' button expands reasoning. Add couple mode: two inputs, AI finds compromise.
Score Breakdown
Pain
Clarity
Demo
Build
Share
Revenue

Ready to build?

Copy the build prompt and start creating with your favorite AI assistant.

Built it?

Submit your creation to our showcase and inspire others.

Submit to Showcase