---
name: hinge-liker-926c199f6191
description: "Automated Hinge dating profile liker using Android emulator + Gemini vision AI. Scrolls through full profiles, analyzes attractiveness with AI, likes the best photo/prompt with witty comments, skips others. Sends a detailed text report after each session. Use when asked to run Hinge likes, set up Hinge automation, check Hinge status, or manage daily dating app swiping."
---

# Hinge Auto-Liker

Automates Hinge swiping on an Android emulator. Uses Gemini vision to evaluate profiles, pick the best photo/prompt, and send witty comments.

## Requirements

- Android emulator (AVD) with Hinge installed and logged in
- `adb` in PATH
- `GEMINI_API_KEY` environment variable (Gemini 2.5 Flash recommended)
- Python 3.8+
- Java (for Android emulator)

## Setup (First Time)

1. Install Android command line tools (via Homebrew: `brew install --cask android-commandlinetools`)
2. Create an AVD: `avdmanager create avd -n HingePhone -k "system-images;android-34;google_apis;arm64-v8a" -d pixel_6`
3. Boot the emulator with a window, install Hinge from Play Store, and log in manually
4. Set `GEMINI_API_KEY` in environment

## Running

```bash
# Set environment
export PATH="<android-tools-path>/platform-tools:<android-tools-path>/emulator:$PATH"
export GEMINI_API_KEY="your-key-here"

# Boot emulator (windowed for video, add -no-window for headless)
emulator -avd HingePhone -no-audio -no-metrics -gpu swiftshader_indirect &

# Wait for boot
adb wait-for-device
while [ "$(adb shell getprop sys.boot_completed 2>/dev/null | tr -d '\r')" != "1" ]; do sleep 2; done

# Launch Hinge
adb shell am start -a android.intent.action.MAIN -n co.hinge.app/.ui.AppActivity
sleep 10

# Optional: start screen recording
adb shell screenrecord --time-limit 300 /sdcard/hinge_session.mp4 &

# Run the liker
python3 scripts/hinge_android.py --likes 8 --user-desc "a 25yo tech guy in SF who's fit and active"

# Pull recording + kill emulator
adb shell pkill -INT screenrecord; sleep 3
adb pull /sdcard/hinge_session.mp4 ./recordings/session.mp4
adb emu kill
```

## Script Options

| Flag | Default | Description |
|------|---------|-------------|
| `--likes` | 8 | Max likes per session |
| `--adb` | `adb` | Path to adb binary |
| `--user-desc` | generic | Description of the user for AI matching |

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `GEMINI_API_KEY` | Yes | Google Gemini API key |
| `GEMINI_MODEL` | No | Model name (default: `gemini-2.5-flash`) |
| `ADB_PATH` | No | Full path to adb binary |
| `HINGE_WORK_DIR` | No | Working directory for screenshots/logs |

## Output

The script prints a **session report** to stdout with:
- Total profiles seen, liked, skipped
- For each profile: who they are, why it liked/skipped, the comment sent, which content was liked

JSON logs are saved to `logs/` directory.

## Scheduling as a Daily Cron

Set up via OpenClaw cron for daily automated runs. Key notes:
- **Hardcode GEMINI_API_KEY in the cron payload** — cron shells don't source ~/.zshrc
- Use `am start` to launch Hinge, not `monkey` (more reliable)
- Compress videos before sending via iMessage (16MB limit): `ffmpeg -i input.mp4 -vcodec libx264 -crf 28 -preset fast -vf scale=720:-2 output.mp4`

## After Each Session

Send the user a text report including:
1. How many profiles seen / liked / skipped
2. For each liked profile: who she is, why the AI liked her, what comment was sent
3. For each skipped profile: brief reason why
4. Any errors (paywall, API failures, etc.)
5. Video recording if available (compressed for messaging)

## Troubleshooting

- **Paywall/out of likes**: Free likes reset ~24h after last batch. Schedule runs accordingly.
- **Gemini empty responses**: Increase `maxOutputTokens`, check API key/quota.
- **Can't find buttons**: Hinge UI changes periodically — check `find_all_hearts()` and `find_skip_button()` patterns.
- **Emulator crashes**: Check disk space (`df -h`), try `-gpu swiftshader_indirect`.


---
Source attribution: modbender
Original project: https://github.com/modbender/skill-library-mcp/blob/d9c8fe903b5b4e82237dbe8d0df8567783022e18/data/hinge-liker/SKILL.md
License: MIT
License information: https://opensource.org/license/mit
Original upstream instructions; downloaded from Mega AI Hub.

## Upstream license notice

MIT License

Copyright (c) 2025 skill-library-mcp contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



# Mega AI Hub resource metadata

Creator / publisher: modbender
Original project: https://github.com/modbender/skill-library-mcp/blob/d9c8fe903b5b4e82237dbe8d0df8567783022e18/data/hinge-liker/SKILL.md
Attribution basis: Source repository record

Fields of work: Marketing, Sales
Roles: Customer Success Manager, Growth Marketer, Influencer Marketer
Specialties: API, Mobile
Tools: Adb, Android Emulator, Gemini
Country applicability: Country not specified
Classification basis: Source catalog labels
Instruction SHA-256: b84667b1a4fa78576f8267f600ee31206683f4fd087b4652103e1692ea08feb8
