Harvests dating-app openers from Reddit (or from a screenshot you feed it), scores each one with Claude on three dimensions, and ranks the top performers over a time window.
The question it answers: of the openers people actually post about, which ones correlate with a real response? Not a generator of cheesy lines — an analyzer of which ones land.
- Harvest — pulls posts/comments from dating subreddits (
Tinder,seduction,PickUpLines,hingeapp,Bumble, …) via Arctic Shift, then uses Claude Haiku to extract the actual opener, the reply (if any), and any outcome hint. - Score — Claude scores each line on
creativity,response_quality, andhookup_probability:composite = 0.20·creativity + 0.30·response_quality + 0.50·hookup_probability - Rank — top-K over a window (
today,7d,all, …). - Screenshot mode — hand it a screenshot of a Tinder/Hinge conversation and Claude vision extracts the line + response + outcome, then scores it alongside the harvested corpus.
There's also a small web UI (web/bff + web/frontend) over the same store.
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # ANTHROPIC_API_KEY
python main.py harvest --window today
python main.py score
python main.py topk --window today --k 10
python main.py screenshot path/to/convo.png --platform Tinder
python main.py statsarctic_shift.py and store.py are intentionally the same Reddit-harvesting core used in my
reddit-pushpull project. That one builds a relationship-dynamics
corpus (ghosting, breadcrumbing, love-bombing); this one retargets the identical harness — Arctic Shift client +
SQLite store — at dating openers and bolts a Claude scoring/ranking layer on top. Same plumbing, different question.
The harvested corpus (picklines.db) and output/ are gitignored — only code ships. Keys come from .env
(.env.example provided).