A simple SMS-based chatbot designed to help couples discover mutual interests.
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.)
- *nix
- RVM
- Ruby/Rails
- Foreman
- Twilio
- 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
http(s)://<server>:<port>/auth/google_oauth2
- Install foreman
- Set configuration variables (see below)
- Install RVM
- Clone the repo and
cd
into it (following RVM prompts, if any) bundle
foreman run rake db:setup
foreman run whenever --update-crontab
Create a .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.