Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± Parent Phone SOS

Python Version License: MIT FastAPI GitHub Stars Live Demo

AI-powered remote phone support for parents πŸš€

πŸ‘‰ Try the Live Demo πŸ‘ˆ

Help your parents use their phones remotely by sending them a screenshot. Our AI analyzes the problem, generates step-by-step instructions, and annotates the screenshot with red circles and arrows so they can easily follow along.

δΈ­ζ–‡η‰ˆζœ¬ (Chinese)


🎯 The Problem

Your parents text you at 3 AM: "Something's wrong with my phone again!" 😰

Instead of trying to guess what they're doing over a phone call, they can now:

  1. Take a screenshot
  2. Describe their problem
  3. Receive perfectly annotated, step-by-step instructions

✨ Features

  • πŸ€– AI-Powered Analysis - GPT-4o Vision or Claude to understand phone screenshots
  • πŸ“ Smart Annotation - Red circles, arrows, and numbered steps overlaid on the screenshot
  • πŸ“‹ Step-by-Step Instructions - Clear, jargon-free instructions for each step
  • 🌍 Bilingual - English and Chinese support
  • πŸ“± Mobile Responsive - Works beautifully on all devices
  • 🎨 Beautiful UI - Modern, warm, family-friendly design
  • πŸš€ Fast & Reliable - Built with FastAPI for lightning-fast performance
  • 🐳 Docker Support - Easy deployment with Docker
  • πŸ’Ύ FAQ Database - 30+ common phone problems with ready-made solutions
  • πŸ”„ Provider Fallback - Automatically switches between OpenAI and Anthropic

πŸš€ Quick Start

Prerequisites

  • Python 3.8+ or Docker
  • OpenAI API key (or Anthropic API key)

Option 1: Local Setup

# Clone the repository
git clone https://github.com/timorzheng/parent-phone-sos.git
cd parent-phone-sos

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Create .env file
cp .env.example .env
# Edit .env and add your API keys

# Run the server
python -m uvicorn src.main:app --reload

Open http://localhost:8000 in your browser!

Option 2: Docker Deployment

# Copy and configure environment
cp .env.example .env
# Edit .env with your API keys

# Build and run with docker-compose
docker-compose up -d

# Access at http://localhost:8000

πŸ“– How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    User Screenshot                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
                       β–Ό
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚   AI Analysis (GPT-4o/Claude)   β”‚
        β”‚  - Identify UI elements          β”‚
        β”‚  - Generate step-by-step steps   β”‚
        β”‚  - Get element coordinates       β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚
                        β–Ό
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚      Image Annotation            β”‚
        β”‚  - Draw red circles              β”‚
        β”‚  - Add numbered labels           β”‚
        β”‚  - Draw pointing arrows          β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚
                        β–Ό
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚   Step-by-Step Instructions      β”‚
        β”‚   (Easy for parents to follow)  β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🎨 Demo

[GIF Demo coming soon - showing before/after annotated screenshots]

πŸ“š API Documentation

Endpoints

POST /api/analyze

Analyze a screenshot and get instructions.

Request:

curl -X POST "http://localhost:8000/api/analyze" \
  -F "file=@screenshot.png" \
  -F "question=How do I increase the font size?"

Response:

{
  "analysis": {
    "summary": "To increase font size, open Settings and adjust display options",
    "steps": [
      {
        "step_number": 1,
        "instruction_text": "Open Settings app",
        "ui_element": "Settings icon",
        "coordinates": {"x": 100, "y": 200, "width": 50, "height": 50}
      }
    ],
    "difficulty": "easy",
    "estimated_time": 5,
    "provider": "openai"
  },
  "annotated_image_base64": "iVBORw0KGgoAAAANS..."
}

GET /api/faq/list

Get all FAQ items.

curl "http://localhost:8000/api/faq/list"

GET /api/faq/{id}

Get a specific FAQ item.

curl "http://localhost:8000/api/faq/wifi"

GET /api/faq/search?q=keyword

Search FAQ by keyword.

curl "http://localhost:8000/api/faq/search?q=wifi"

GET /health

Health check endpoint.

curl "http://localhost:8000/health"

βš™οΈ Configuration

Edit .env file to customize:

# AI Providers
OPENAI_API_KEY=sk-your-key
ANTHROPIC_API_KEY=your-key
PREFERRED_PROVIDER=openai

# Server
HOST=0.0.0.0
PORT=8000
DEBUG=False

# Image
MAX_IMAGE_SIZE_MB=20

πŸ§ͺ Testing

Run the test suite:

# Install test dependencies
pip install pytest pytest-asyncio

# Run all tests
pytest

# Run with coverage
pytest --cov=src

πŸ“± Supported Platforms

  • iPhone (iOS)
  • Android
  • WeChat
  • Android Settings
  • iOS Settings

πŸŽ“ FAQ Database Includes

  • WiFi Connection
  • Font Size Adjustment
  • Storage Cleanup
  • App Download
  • Video Calls
  • Screenshots
  • Bluetooth Pairing
  • Volume Control
  • Notifications
  • System Updates
  • Battery Saver
  • Brightness
  • Airplane Mode
  • Location Services
  • Network Reset
  • Screen Lock
  • App Permissions
  • Photo Deletion
  • Password Reset
  • Cache Clearing
  • And 10+ more...

πŸ› οΈ Tech Stack

  • Backend: FastAPI, Python 3.8+
  • AI: OpenAI GPT-4o Vision or Anthropic Claude
  • Image Processing: Pillow (PIL)
  • Frontend: Vanilla HTML/CSS/JavaScript
  • Deployment: Docker, docker-compose
  • Testing: pytest

πŸ“„ Project Structure

parent-phone-sos/
β”œβ”€β”€ README.md
β”œβ”€β”€ README_CN.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ .env.example
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ setup.py
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ main.py          # FastAPI app
β”‚   β”œβ”€β”€ analyzer.py      # AI analysis
β”‚   β”œβ”€β”€ annotator.py     # Image annotation
β”‚   β”œβ”€β”€ models.py        # Data models
β”‚   β”œβ”€β”€ prompts.py       # AI prompts
β”‚   β”œβ”€β”€ config.py        # Configuration
β”‚   └── faq.py          # FAQ database
β”œβ”€β”€ web/
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ style.css
β”‚   └── script.js
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ test_analyzer.py
β”‚   β”œβ”€β”€ test_annotator.py
β”‚   └── test_api.py
└── docs/
    β”œβ”€β”€ API.md
    └── CONTRIBUTING.md

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see LICENSE file for details.

πŸ™ Acknowledgments

  • Built with ❀️ to help families stay connected
  • Inspired by the real frustrations of helping parents use technology
  • Special thanks to all contributors

πŸ“§ Support


Made with ❀️ to help families stay connected

⭐ Star on GitHub β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature

About

πŸ“± AI-powered remote phone support for parents. Send a screenshot β†’ Get annotated step-by-step instructions. ηˆΈε¦ˆζ‰‹ζœΊζ€₯ζ•‘η«™ - ε†δΉŸδΈη”¨εΌη€ζ•™ηˆΈε¦ˆη”¨ζ‰‹ζœΊδΊ†

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages