Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is actually something that I'm still trying to figure out, and hopefully can be improved in the future. Maybe you can help me out:

So, the problem we'd like to solve is what set of 250 or so cards has the highest predictive value in that similar answers lead to the best interpersonal matches?

The problem with hobbies is that there are so many of them and not many people feel very strongly one way or the other about many of them. You probably wouldn't not give someone a chance just because they prefer ping pong to pool, for example. Rather, I was looking for what might be deal-breakers.

The Interests page and tagging in general is what I am hoping will fill that need of specifying your individual interests and matching based on them. Here is where you can tag yourself with whatever you'd like and then search for users and posts based on these tags. The card swiping's function is mostly just a first-pass elimination filter.

I had the thought of perhaps doing categories instead with regard to cards. For example, sense of humor is often very important in people. Perhaps 50 of the cards should be memes? And then perhaps 50 of the cards be political, 50 of the cards be hobbies, etc.? Or perhaps there could be multiple similarity percentages, each of a different category? It's still very experimental and I'm not sure what the correct path is.



In the past I've been very isolated because of health issues which kept me in bed for months at a time, and I've thought a lot about how to make friends online. I've come to the following conclusions:

1) You need a common topic of interest to start the spark of friendship, something that keeps you coming back and gives you an excuse to speak to each other and unending content to speak about.

2) You need to force yourself to check up on them daily to weekly about that topic.

3) You need them to be interested in forming a new friendship (it's a lot of work for both parties involved, not everyone cares to extend their circle of friends or to form online friendships).

4) You need chemistry.

5) Things are a lot easier if you belong to a small online community where people know each others.

Among these 5 requirements, (2,3,5) are irrelevant to your problem of matching people.

Requirement (1) you can provide through hobbies/interests card and clustering somewhat easily with the current system.

Requirement (4) I don't know what it is, or what makes it work. With some people it just won't click. I know it's not because of opposite political beliefs, or lack of common interests, because I have friends which are counter-examples for those potential failure cases. I think it has to do with personality, similar thought patterns (not beliefs) or something like that. The categories you mention could be a path towards quantifying that but you'd want them to be soft-indicators because again people with opposite political beliefs, or senses of humour can be great friends. So I don't really know in the end.

Have you looked at online dating research? I bet there's some smart people who worked on compatibility indicators for these kind of applications.


(Forewarning: I haven't had a chance to check out the site yet this is purely based on what I've read in the comments so far) I would also say some hobbies are good to add, just don't be to narrow on it. While pool or ping-pong might not be good so broad topics like watch sports, play board games, video games, (biased) anime. Broad topics like that are typically what I'll discuss with friends even if our specific interests in the topics don't align.


I think the right type of thing are the sorts of questions that get put in buzzfeed lists like “10 questions to find out if your date is the one” and “how compatible are you? 25 questions to predict relationship success with your partner” type things.

The questions are all like “do you like camping”, “would you like to live in a foreign country” etc.

Some questions like this have actually been studied for their predictive ability I think.


> So, the problem we'd like to solve is what set of 250 or so cards has the highest predictive value in that similar answers lead to the best interpersonal matches?

I think ideally you should somehow allow users indicate what kind of "interpersonal" similarity they are looking for. Perhaps right now I want to find intellectually similar people -- but maybe later I want to find people with the same sense of humor. Hell, maybe I just want to find people interested in eating the same food.

Here's an abstraction that I think could be a killer feature, and could solve a lot of "problems" around matching, privacy, etc: Cardsets.

A cardset would be a set of cards with its own theme. My answers to the cardsets can be hidden/shown at will. I can view similar users based on responses to a single cardset, and my "overall matches" would be a weighted similarity across all cardsets, where I can toggle how important each cardset is.

So now imagine the following cardsets:

  - Politics.  Swipe left for "bad idea", right for "good idea".
  - Humor.  Swipe left for "not funny", right for "funny".
  - Food.  Swipe left for "disgusting", right for "delicious".
  - Aesthetics.  Swipe left for "ugly", right for "beautiful".
  - Hobbies.
  - Activities I want to try.
  - Places I want to go.
  - Fashion, technology, programming, ...etc...
I can now find people that have similar fashion taste to me. Or that want to travel to the same places as me. Or that like the same food as me. There's also the nice side effect that I don't have to swipe on cardsets I don't care about, and that there's a lot of swiping I could do, which is potentially fun. Sky's the limit here!

Furthermore, if you want to get "advanced", add a way for me to find "custom matches", by which I weigh the importance of each cardset. Perhaps I want to find people that match based on "Politics" and "Humor" ... so I'd set those as having high weight and the others lower.

You now have a channel by which you can add endless amounts of content, and can iteratively improve your matching and engagement. Adding a new cardset opens up an entirely new set of matches to all of your users, and gives them something to swipe.

I think this concept is extremely powerful and valuable, and opens up endless avenues for future growth. Imagine brands being able to fill out cardsets for "aesthetics", or "food", etc. Now you can match users to brands they care about.

Lastly, to light a fire under your ass, if you don't commit to doing this, I will. The more I think about it, the more I think this is something that could catch on, especially if you let users create cardsets and add other viral features (eg: ability to send a link to someone to fill out a cardset to find out how much they match me).


Another fantastic reply! I really need to get this to take off already so I can hire you before you make your own and out-compete me.

The more I read this reply, the more I agree with it, and I think it may actually not be that difficult of a change. Card sets could be integrated into the existing cluster concept and I could just give users the ability to choose which sets (clusters) they swipe on and the weighting that they apply to each. They could also decide which clusters should be factored into their similarity matching. I _think_ this will all work with the existing CUBE concept, which is exciting, because many other proposed solutions by others didn't fit nicely within that mathematical structure.

You've honestly given me a lot to think about and I think I see a better way forward now. Your insight really increased my mood because I think you've discovered something very important that I am likely going to be spending quite a bit of time on in the next coming weeks and months.

Thanks so much!


I would advise against folding it into clusters, and instead have each cardset be its own thing. What you have right now is a cardset that I'd label "General" -- abstract the backend so you can create different sets of cards ("Food", "Fashion", etc). If manually curate cardsets, you won't even need to worry about clustering. Yes, it's a shame you spent time on it, but no clustering will ever beat manually creating sets of cards.

In terms of producing a "total match score" with a user, you compute a match score for each cardset that both users have, then use a simple normalized linear combination to get the total.

If users A and B have cardsets X Y and Z in common, you would produce similarity scores "S" for S(A,B,X), S(A,B,Y), and S(A,B,Z). Then, you use the weights that user A selects for each cardset (W(A), W(B), W(C)), normalize such that they add up to 1 but maintain their ratios, and compute total similarity of A matched to B as: W(A) * S(A) + W(B) * S(B) + W(C) * S(C).

As long as you have pre-computed the scores between all user-cardset pairs (your scaling pain point), computing match scores even with weights is trivial and fast.


> You've honestly given me a lot to think about and I think I see a better way forward now. Your insight really increased my mood because I think you've discovered something very important that I am likely going to be spending quite a bit of time on in the next coming weeks and months.

Happy to hear. I've been working on my own project for close to a year and am close to launch, so I think I understand where you are coming from.

It is practically impossible to view your product as someone unfamiliar with it would. So, that leaves you asking for feedback. Next, it is really difficult to distill user feedback (such as found on this thread) into things you should actually work on. Is a comment just a vocal minority complaining or an indication that some concept should be changed? I think you're doing a good job taking feedback to heart and I'm really rooting for you.

> Another fantastic reply! I really need to get this to take off already so I can hire you before you make your own and out-compete me.

If/when it takes off, just make me an adviser and shoot a couple percentage points my way!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: