Eigenfaces for romance: a 2014-era Tinder bot
A desktop Tinder client that auto-swipes based on facial analysis and chats via sentiment-guided bots—abandoned by its creator, frozen in time.

What it does
Tinderbox is a full desktop Tinder interface built on the Play! 2.2 framework. It runs a local server at localhost:9000, authenticates via Facebook access tokens, and recreates most core Tinder functionality in a browser. The twist: background jobs using Akka and Spark handle facial detection, while a bot manages initial conversations.
The interesting bit The project uses Eigenfaces—grayscale, normalized facial pixel models—to learn your “type” from past likes and dislikes. It’s deliberately elementary: eigenvector values from yes/no face models determine new swipes. For messaging, a decision tree routes replies based on positive or negative sentiment detected via Stanford NLP, then hands off to you when the conversation escapes the script.
Key highlights
- Eigenfaces-based auto-swiping with a “Clear Models” reset button when its taste goes awry
- Sentiment-driven chatbot with hardcoded message trees in
FunMessages.scala - Packaged as an OSX .app launcher plus shell scripts for OSX/Linux (Windows untested)
- Requires manual Facebook token extraction with a one-second copy-paste window before FB obscures it
- Non-commercial CC license; author explicitly warns against spamming and disclaims any affiliation with Tinder
Caveats
- Sunsetted and unsupported: the original author abandoned the project and moved to “Bernie AI”
- API fragility: any Tinder API change will break the app
- Immediate messaging risk: the bot starts messaging all contacts as soon as launched, before you can customize messages
- Elementary ML: the author admits the facial analysis “could use some work” and suggests combining Eigenfaces with other methods
Verdict Worth a look for ML historians or anyone studying early-2010s bot behavior and crude facial recognition pipelines. Not for actual dating, production use, or anyone hoping for maintained code. The Eigenfaces implementation is more instructive than effective.