yaseminozkut
change name
60e7dc6
|
raw
history blame
3.97 kB
---
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.