A simple SMS-based chatbot designed to help couples discover mutual interests.
How it works
Every few days, Tink will pick a random time to text randomly-selected yes-or-no questions from a list of questions to both people in a couple. When both people reply "Y" to the same question, it will notify both parties about a potential matching interest.
Basically it's Tinder, but for couples. But no, not like that. (Eww.)
- Google App with Credentials API turned on
- Set up a Twilio account
- Set up a Google application
- Turn on the "credentials" API
- Set redirect URL to
- Install foreman
- Set configuration variables (see below)
- Install RVM
- Clone the repo and
cdinto it (following RVM prompts, if any)
foreman run rake db:setup
foreman run whenever --update-crontab
.env file for foreman and set the following variables.
DISABLE_SPRING=true RAILS_ENV=production OAUTH_CLIENT_ID=xyz.apps.googleusercontent.com OAUTH_CLIENT_SECRET=xyz TWILIO_DEVELOPMENT=['abc', 'xyz'] TWILIO_DEVELOPMENT_NUMBER=+19999999999 TWILIO_TEST=['abc', 'xyz'] TWILIO_TEST_NUMBER=+19999999999 TWILIO_PRODUCTION=['abc', 'xyz'] TWILIO_PRODUCTION_NUMBER=+19999999999 SECRET_KEY_BASE=xyz USER_WHITELIST=['admin_google_uid1', 'admin_google_uid2']
foreman run rails s starts the web server
sudo service cron restart restarts cron to pick up changes to the crontab
foreman run rails c starts the rails console
User.play manually triggers sending questions (if, say, cron is off)
User.play true forces the app to send questions immediately, ingoring the
next_ask field on the users
With ten questions in total, Tink will have enough material for about 2.5 weeks. Questions should all have Yes or No answers and roughly 25% of them should have a high likelihood of matching (to keep both parties engaged).
Every time Tink asks a question, it will first ask if it's okay to send the question (to avoid any embarrassing situations). Match responses will be sent without a leading prompt, so be mindful of that when answering "Y" to a question.
Tink is opensource with some rights reserved under the MIT license.