Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Comment j'ai trouvé une copine avec Node.js (version Node.js Paris)

Comment j'ai trouvé une copine avec Node.js (version Node.js Paris)

Etienne Folio

March 12, 2014
Tweet

More Decks by Etienne Folio

Other Decks in Programming

Transcript

  1. Les sites de rencontre, à quoi ça sert ? •

    Rencontrer • L’homme ou la femme de sa vie • Des nouveaux amis • Un plan Q ou un coup d’un soir • Un correspondant linguistique • Un psychologue gratos • …
  2. Comment ça marche ? • Tchat • Facebook • Sites

    annuaires • Liste • Fiche • Mails • IRL • :-)
  3. Comment ça marche ? • Tchat • Facebook • Sites

    annuaires • Liste • Fiche • Mails • IRL • :-)
  4. Comment choisir son site ? • Ratio H/F (le vrai)

    • La finalité des participants • Tranches d’âge • Les valeurs (parfois)
  5. Le business du site c'est quoi ? 1. Créer un

    annuaires de célibataires (création de valeur) 2. Créer de la frustration (attraction) 3. Promettre LA rencontre (vente) 4. Empêcher qu'elle ait lieu (rétention)
  6. Le cas d’Adopte un mec Donc, à moins de savoir

    exactement : • Draguer efficacement • Être BG • Chercher un plan Q (sans l’afficher ouvertement)
  7. Le cas d’Adopte un mec Donc, à moins de savoir

    exactement : • Draguer efficacement • Être BG • Chercher un plan Q (sans l’afficher ouvertement) … ben on se fait avoir et on est toujours tout seul…
  8. Pourquoi j'ai choisi d'aller sur Adopte un mec • Population

    • Là où il y a le plus de monde (de loin) • Âge • Où les femmes sont dans la même tranche d’âge • Ambiance • Entre légère et sérieuse • Prix • Trop cher (30 € / mois) mais pas pigeon (45 - 60 € / mois)
  9. Se faire remarquer Ce sont vos DEUX SEULES armes pour

    vous faire remarquer ! Les visites Les charmes
  10. Problème • Les chances de résultat sont très faibles ⇒

    Pas d'investissement sans garantie ⇒ Pas de paiement ⇒ Pas de mails et 5 charmes max On est donc partis sur une recherche • Lente • Long terme
  11. Maximiser les retours • Les visites du profil • Le

    pseudo • La photo principale • Les mails reçus • Annonce originale et humoristique • Honnêteté et sincérité • Tout le monde met les même attraits en avant • Les IRL • 20 mails max • Se forcer à poser le RDV
  12. Faire une recherche • Charmer à partir de la page

    de recherche • Idée : cibler un peu plus ⇒ visiter les profils
  13. Faire une recherche • Charmer à partir de la page

    de recherche • Idée : cibler un peu plus ⇒ visiter les profils … ⇒
  14. Faire une recherche • Charmer à partir de la page

    de recherche • Idée : cibler un peu plus ⇒ visiter les profils … ⇒
  15. Faire une recherche • Charmer à partir de la page

    de recherche • Idée : cibler un peu plus ⇒ visiter les profils … ⇒ Toutes les 15 min !!
  16. Retournement de situation Ce n’est plus : Les filles me

    sélectionnent C’est : JE sélectionne Concept validé, v1 fonctionnelle… Messieurs, nous avons notre MVP
  17. V2 nécessaire Technos : Webapp ⇒ JavaScript En profiter pour

    apprendre qqch de nouveau : • Node.js • AngularJS Usage de : • Express.js, Jade, Stylus, request • Twitter Bootstrap, Angular.ui
  18. Features • Impersonnification • Réduire le footprint • → Fréquence

    de visite décroissante • Interface intelligemment conçue : infos utiles • Recherche de type « full-text search » Objectifs : • Cloner la BDD lors de la visite • Un cron en arrière-plan • Une webapp
  19. Rétrospective Sur 2 semaines : 1. Découverte du concept •

    Tout ce que j’ai expliqué précédemment 2. Apprentissage des technos • Du n00b au développeur honnête • Taf en parallèle 3. Réalisation • Reverse engineering • POC (v1) • Itération #1 (v2)
  20. En effet… • Quoi de plus motivant pour un geek

    : • Trouver le moyen de parler facilement avec plein de filles • Trouver le moyen de contourner le statuquo • Comprendre les rouages des sites de rencontre • Résultat : • Obstacle technique balayé • Procrastination inexistante • Implication totale et sans faille
  21. Et la v3 ? • Idée : ranking personnalisé •

    Scoring défini selon des règles personnelles • Notation évolutive dans le temps, en fonction : • De la fréquence de connexion • Des updates des profils • De l’activité sur le site • … et pourquoi pas des recherches effectuées ?
  22. Et la v3 ? • Améliorer l’interface • Mails sans

    devoir aller sur le site • Suivi des charmes et des visites • Suivi de l'activité du bot et possibilité de l'orienter (coups de « boost ») • Statistiques d'activité et de visibilité • Statistiques sur les profils (à la OK Cupid)
  23. Ok, c'est quoi les points technique importants ? • Charger

    les pages avec request • Utiliser JSDom pour parcourir body • Utiliser les promesses • Utiliser une gate pour synchroniser les appels • Tout faire pour passer « under the radar » – Exécutions en « sessions » de 20-40 min – Timeouts variables et random – Parcours « humain » du site
  24. Conclusion • Une copine en moins de 2 semaines !

    • Découverte, code et apprentissage inclus • Pour un geek reclus c’est plutôt pas mal ;)
  25. Conclusion • Une copine en moins de 2 semaines !

    • Découverte, code et apprentissage inclus • Pour un geek reclus c’est plutôt pas mal ;) • 2 skills en plus : Node.js et AngularJS
  26. Conclusion • Une copine en moins de 2 semaines !

    • Découverte, code et apprentissage inclus • Pour un geek reclus c’est plutôt pas mal ;) • 2 skills en plus : Node.js et AngularJS • Les potes – cas désespérés – qui en profitent • Ça marche ! • Et ça les décoince
  27. Et maintenant ? À partir de maintenant plus d'excuse, si

    vous vivez seul, c'est délibérément votre choix. The rest is up to you…