AI-Powered Dating Profile Analysis & Automation System
Automated profile extraction, photo analysis, and comprehensive feature inference using advanced AI agents.
Unhinged is an AI-powered system that automates profile analysis from the Hinge dating app. It combines mobile automation (ADB), computer vision, and large language models to extract detailed insights from dating profiles that go beyond what's explicitly stated.
The system captures profile information from Android devices, analyzes photos using AI, and generates comprehensive reports including inferred personality traits, lifestyle preferences, and dating style classification.
- ADB-based device control - Automated swiping, tapping, and screenshot capture
- XML UI hierarchy parsing - Precise element location and interaction
- Smart photo detection - Automatically identifies and captures all profile photos
- Complete profile extraction - Age, location, height, job, education, prompts, and more
- Multi-photo feature extraction - Analyzes physical attributes, style, and context
- Activity & location inference - Detects settings, activities, and social contexts
- Physical attribute detection - Hair color, piercings, makeup level, freckles, and more
- Aggregated analysis - Synthesizes insights across multiple photos
- DSPy ReAct agents - Intelligent reasoning and analysis workflow
- Multi-LLM support - Google Gemini, OpenAI, Claude, Groq, Perplexity
- Comprehensive profiling - Dating style, lifestyle, personality traits, interests
- Lifestyle inference - Party frequency, activity level, dating intentions
- Langfuse integration - Track AI agent behavior, costs, and performance
- Structured logging - Session-based tracking with Loguru
- Cost monitoring - Per-analysis token usage and cost tracking
- Agent decision tracing - Full visibility into AI reasoning steps
- Cursor IDE integration - Native
.cursorrulesfor consistent coding - Configuration-driven - YAML-based settings with environment variable support
- Type-safe models - Dataclass-based profile and analysis structures
- Comprehensive testing - Pytest suite with health checks
graph TD
A[Android Device via ADB] --> B[UI Hierarchy Dump]
B --> C[HingeAPI Parser]
C --> D[Profile Data Extraction]
C --> E[Photo Capture]
E --> F[Individual Photo Analysis]
F --> G[DSPy ReAct Agent + Gemini]
G --> H[Physical Attributes]
G --> I[Activities & Context]
D --> J[Profile Synthesis Agent]
H --> J
I --> J
J --> K[Comprehensive Profile Report]
K --> L[Dating Style Classification]
K --> M[Lifestyle Inference]
K --> N[Interest & Personality Traits]
G -.-> O[Langfuse Tracing]
J -.-> O
- Capture Phase - ADB extracts UI hierarchy, parses profile data, and captures photos
- Analysis Phase - AI agents analyze each photo for features, activities, and attributes
- Synthesis Phase - Aggregated analysis produces comprehensive profile report
- Monitoring Phase - Langfuse tracks all LLM calls, costs, and agent decisions
- Python 3.12+
- Rye - Python package manager
curl -sSf https://rye.astral.sh/get | bash - ADB (Android Debug Bridge)
# macOS brew install android-platform-tools # Linux (Debian/Ubuntu) sudo apt-get install android-tools-adb # Windows # Download from: https://developer.android.com/tools/releases/platform-tools
- Android device with USB debugging enabled
- USB cable for device connection
- Google Gemini API key (recommended - default model)
- OpenAI API key (optional)
- Anthropic Claude API key (optional)
- Groq API key (optional)
- Perplexity API key (optional)
git clone https://github.com/Miyamura80/Unhinged.git
cd Unhinged
rye sync# Create .env file
cp .env.example .env # If example exists, or create new
# Edit .env and add your API keys
echo "GEMINI_API_KEY=your_api_key_here" >> .env
echo "DEV_ENV=development" >> .env- Go to Settings β About Phone
- Tap Build Number 7 times to enable Developer Mode
- Go to Settings β Developer Options
- Enable USB Debugging
- Connect device via USB and authorize the computer
adb devices
# Should show your device listedmake demomake all # Run main application
make demo # Run demo workflow
make test # Run test suite
make lint # Format code with Black
make vulture # Detect dead code
make show-mobile-screen # Stream device screen to desktopThis tool is designed for research and educational purposes only. Users must:
-
β Only analyze their own profiles or profiles with explicit consent
-
β Comply with Hinge's Terms of Service
-
β Respect privacy and data protection laws (GDPR, CCPA, etc.)
-
β Use insights responsibly and ethically
-
β Do not use for harassment, stalking, or discrimination
-
β Do not scrape or store data without consent
-
β Do not violate platform terms of service
-
β Do not use for commercial purposes without proper authorization
The developers assume no liability for misuse of this software.
This project uses the following open-source tools:
- DSPy - Stanford NLP AI framework
- LiteLLM - LLM provider abstraction
- Langfuse - AI observability platform
- Rye - Python package manager
- Cursor - AI-powered code editor
MIT License - see LICENSE file for details
Created by researchers interested in AI-powered profile analysis and mobile automation. Contributions welcome!
Built with DSPy, Gemini AI, and ADB automation