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.
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:
- Take a screenshot
- Describe their problem
- Receive perfectly annotated, step-by-step instructions
- π€ 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
- Python 3.8+ or Docker
- OpenAI API key (or Anthropic API key)
# 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 --reloadOpen http://localhost:8000 in your browser!
# 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βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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) β
ββββββββββββββββββββββββββββββββββββ
[GIF Demo coming soon - showing before/after annotated screenshots]
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 all FAQ items.
curl "http://localhost:8000/api/faq/list"Get a specific FAQ item.
curl "http://localhost:8000/api/faq/wifi"Search FAQ by keyword.
curl "http://localhost:8000/api/faq/search?q=wifi"Health check endpoint.
curl "http://localhost:8000/health"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=20Run the test suite:
# Install test dependencies
pip install pytest pytest-asyncio
# Run all tests
pytest
# Run with coverage
pytest --cov=src- iPhone (iOS)
- Android
- Android Settings
- iOS Settings
- 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...
- 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
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
We welcome contributions! See CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see LICENSE file for details.
- Built with β€οΈ to help families stay connected
- Inspired by the real frustrations of helping parents use technology
- Special thanks to all contributors
- π¬ Email: support@parentphonesos.com
- π¬ GitHub Issues: Report a bug
- π‘ Feature Requests: Request a feature
Made with β€οΈ to help families stay connected
β Star on GitHub β’ π Report Bug β’ π‘ Request Feature