Skip to content

Instantly share code, notes, and snippets.

@AMSTKO
Created September 17, 2014 22:35
Show Gist options
  • Save AMSTKO/538df92afd85b56a9396 to your computer and use it in GitHub Desktop.
Save AMSTKO/538df92afd85b56a9396 to your computer and use it in GitHub Desktop.

Botinder

Botinder is a Tinder client for Google Chrome. Tinder is mobile-only but it's way more convenient to write and browse profiles (with big photos) on your computer, so I made this Chrome extension.

Botinder

Botinder imitates the official Tinder application

  • Like / Dislike results
  • Tinder instant messaging
  • Display user profile

And more

  • Automaticaly like results

Today

Botinder is online since september 1st

  • 1542 users
  • ~450 daily active users
  • 805 840 likes
  • 67 123 dislikes
  • 19 000 matchs
  • 8988 posts
  • 13 notes, average ~5/5

Botinder had a rapid growth and I try to regularly deliver new features and improvements. I hope Tinder won't take this too badly.

Download

Get Botinder on the chrome web store https://chrome.google.com/webstore/detail/botinder/olfdgabkdgehljipnjaclfhpcmddcjml

Client

Front-end stack:

  • Ember.js
  • jQuery
  • Handlebars.js
  • normalize.css

JS

The client is built in JavaScript with Ember http://emberjs.com (which is a little harder to learn than Angular but helps keep the code clean and organized).

request on Tinder api,

function request(path, method, data, options) {
  return $.ajax({
    url: 'https://api.gotinder.com/' + path,
    type: method,
    data: data,
    beforeSend: function(request) {
      if (path !== 'auth') {
        request.setRequestHeader('X-Auth-Token', token);
        request.setRequestHeader('os-version', 19);
        request.setRequestHeader('app-version', 759);
        request.setRequestHeader('platform', 'android');
      }
    }
  }).fail(function(error) {
    if (error.status == 401) {
      Botinder.openWelcomeTab(options ? options.tabId : null);
    }
  });
}

chrome.webRequest.onBeforeSendHeaders.addListener(function(details) {
  for (var i = 0; i < details.requestHeaders.length; ++i) {
    if (details.requestHeaders[i].name === 'User-Agent') {
      details.requestHeaders[i].value = 'Tinder Android Version 3.2.1';
    }
  }
  return {requestHeaders: details.requestHeaders};
}, {urls: ["*://api.gotinder.com/*"]}, ["blocking", "requestHeaders"]);

SASS (SCSS)

The SCSS architecture is inspired by these articles http://codepen.io/chriscoyier/blog/codepens-css and http://www.sitepoint.com/architecture-sass-project/

/* helpers */
@import 'helpers/_variables.scss';
@import 'helpers/_mixins.scss';
@import 'helpers/_functions.scss';
@import 'helpers/_placeholders.scss';

/* base */
@import 'base/_reset.scss';
@import 'base/_typography.scss';

/* components */
@import 'components/_buttons.scss';

/* layout */
@import 'layout/_body.scss';
@import 'layout/_forms.scss';
@import 'layout/_grid.scss';
@import 'layout/_side.scss';

/* pages */
@import 'pages/_home.scss';
@import 'pages/_matches.scss';
@import 'pages/_like.scss';
@import 'pages/_welcome.scss';
@import 'pages/_profile.scss';

Open source

This project is open source you can check the code on my repo https://github.com/MrPing/Botinder

License

Released under the MIT license.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment