--- title: Judgy Reachy No Phone emoji: 📱 colorFrom: red colorTo: orange sdk: static pinned: false short_description: Get off your phone! Reachy Mini shames you with snarky comments tags: - reachy_mini - reachy_mini_python_app --- # 📱 Judgy Reachy No Phone 🤖 **A Reachy Mini app that detects when you pick up your phone and shames you with snarky comments.** Stop checking your phone and get back to work! This app uses computer vision to detect when you pick up your phone and makes Reachy Mini give you a judgmental, snarky comment to shame you back to productivity. ## Features - 📱 **Phone Detection**: Uses YOLOv8 to detect when you pick up your phone - 🗣️ **Snarky Responses**: LLM-generated or pre-written judgmental comments - 🔊 **Text-to-Speech**: Robot speaks the shame out loud with expressive voice - 🤖 **Expressive Animations**: Different reactions based on offense count - 📊 **Stats Tracking**: Pickup count, shame count, longest phone-free streak - 🎮 **Web UI**: Gradio interface for monitoring and configuration ## How It Works 1. **Camera watches you** - Reachy Mini monitors the camera feed 2. **Phone detected** - YOLOv8 detects when you pick up your phone 3. **Shame delivered** - Robot gives you a snarky comment via TTS 4. **Robot reacts** - Expressive animations get more dramatic with repeat offenses ### Robot Reactions | Offense Count | Animation | Reaction | |---------------|-----------|----------| | 1st pickup | Curious head tilt | "The phone? Already?" | | 2-3 pickups | Disappointed head shake | "Again?" | | 4+ pickups | Dramatic sigh, looks away | "I've lost count." | | Phone down | Approving nod | "Good. Back to work." | ## 100% Free Stack | Component | Free Option | Premium Option | |-----------|-------------|----------------| | Detection | YOLOv8 (local) | - | | LLM | Pre-written lines | Groq (free tier) | | TTS | Edge TTS (unlimited) | ElevenLabs (10k chars/month) | ## Installation ```bash pip install . ``` ### Optional: Enable LLM Responses ```bash pip install .[llm] ``` Get free API key at [console.groq.com](https://console.groq.com) ### Optional: Enable Premium Voice ```bash pip install .[premium-tts] ``` Get free API key at [elevenlabs.io](https://elevenlabs.io) ## Usage Run the app: ```bash reachy-mini-daemon ``` Then install and start the app from the Reachy Mini dashboard, or run directly: ```python from judgy_reachy_no_phone.main import JudgyReachyNoPhone app = JudgyReachyNoPhone() app.wrapped_run() ``` The web UI will be available at http://localhost:7863 ## Configuration ### Settings (via Web UI) - **Groq API Key**: Optional, for LLM-generated responses - **ElevenLabs API Key**: Optional, for premium TTS voice - **Cooldown**: Time between shames (10-120 seconds) - **Praise Mode**: Enable/disable praise when phone is put down ### Pre-written Snarky Lines The app includes 20+ pre-written responses that work without any API: - **1st offense**: "The phone? Already?", "And so it begins." - **2nd-3rd**: "Again?", "Back to the phone I see." - **4+ offenses**: "I've lost count.", "Phone addiction is real." ## Stats Tracked - **Pickups Today**: Count of phone pickups in current session - **Total Shames**: Total number of shaming events - **Best Streak**: Longest period without phone pickup ## Technical Details - **Detection**: YOLOv8 nano model for fast inference - **Phone Class ID**: COCO dataset class 67 ("cell phone") - **Detection Threshold**: 3 consecutive frames to confirm pickup - **Putdown Threshold**: 15 frames to confirm phone down (avoids flicker) - **Frame Rate**: 5 Hz for efficient processing ## Requirements - Reachy Mini robot with camera - Python 3.10+ - Internet connection (for first-time YOLO model download and TTS) ## License MIT - Feel free to shame yourself and others! ## Credits Built for [Reachy Mini](https://huggingface.co/spaces/pollen-robotics/Reachy_Mini) by Pollen Robotics & Hugging Face.