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

pip install .

Optional: Enable LLM Responses

pip install .[llm]

Get free API key at console.groq.com

Optional: Enable Premium Voice

pip install .[premium-tts]

Get free API key at elevenlabs.io

Usage

Run the app:

reachy-mini-daemon

Then install and start the app from the Reachy Mini dashboard, or run directly:

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 by Pollen Robotics & Hugging Face.