
Show HN: Virus Cafe – Make a friend in 2 minutes - feross
https://virus.cafe
======
feross
Hey folks! I built Virus Cafe to help you make a friend in 2 minutes! My goal
is to help people stuck indoors because of COVID-19 (or police curfews) to
make meaningful connections with strangers.

Here's how it works:

1\. You are matched with a random partner for a video chat

2\. You're given a deep question to discuss. You have 2 minutes!

3\. The only rule is: no small talk!

Small talk is the worst and I'm on a mission to eradicate it. I've expertly
crafted over 200 questions designed to stimulate good conversation and skip
past the boring introductions.

Here are a few samples:

\- When in your life have you been the happiest?

\- What would you be willing to die for?

\- What is the biggest lie you’ve told without getting caught?

\- What is a belief you had as a child that you no longer have?

\- What human emotion do you fear the most?

\- If a family member murdered someone, would you report them to the police?

\- What absolutely excites you right now?

I hope you use Virus Cafe to meet a new friend and make a deep connection
today.

Feross

~~~
RcouF1uZ4gsC
> Small talk is the worst and I'm on a mission to eradicate it.

To me small talk is the lubricant that makes conversations flow smooth with
strangers. You can hear inflections and humor and irony all in a relatively
safe, unemotional topic. Also, since your philosophical side is not needed,
your emotional intelligence can be more engaged. For example, just by seeing
how someone responds to a comment on the weather, you can learn about the
person and maybe even find a shared bond(even if it is one as small as you
both dislike hot, humid weather). Finally, especially needed in this divided
time, it serves to humanize one to the other. So, I guess I am a fan of small
talk.

~~~
Closi
Counterpoint: Most smalltalk topics actually get people to give an almost pre-
rehearsed response.

For example if someone asks “What do you do for a living?” I will give the
same answer I have given 1000 times. Ill ask them and they will do the same.
There is nothing unique here.

Each to their own though.

~~~
serf
> Counterpoint: Most smalltalk topics actually get people to give an almost
> pre-rehearsed response.

yeah, but you're supposed to then extrapolate on the other persons' pre-
rehearsed response in order to escalate the conversation into something that
flows without effort.

"What do you do for a living?"

"Mergers and Acquisitions."

"Oh. I have a friend that does nearly the same thing. They told me this
anecdote, does that kind of thing ever happen to you?"

"Oh, as a matter of fact.."

Without small talk there is no sharing of useless trivia by which to use as a
jumping off point into real conversation, unless there was some introduction
or motivation behind the meeting, anyway.

~~~
virusduck
Murders and executions?

------
AbraKdabra
Is there a chance for chat instead of video call? I like the idea but I'm not
exposing myself in video. I know it "ruins" the experience but each one to its
own.

~~~
feross
I understand how you feel but I don't think anything can replace looking into
another human's eyes.

~~~
shkkmo
Well, video certainly hasn't replaced it. Maybe one day we will all have
devices with the multiple cameras and the signal processing to allow actual
eye contact over a video call.

~~~
rohan1024
Na I don't think any tech can replace face to face interaction.

~~~
imtringued
The same way no face to face interaction can replace the ability to write
messages to people on the other side of the planet. Inability of substitution
does not make something superior or inferior.

------
noname120
I met a German girl on this app. We had a great time and right when we were
exchanging numbers the server restarted. Please give a lengthier grace period.
:(

~~~
Item_Boring
Hey, it’s the German girl :) I just sent you an e-mail - hope to stay in
touch!

~~~
feross
This is incredible.

~~~
quickthrower2
Will this be one of those classic threads? Like the lotta Bitcoin for pizza? I
hope so.

~~~
jagannathtech
Can you link to this thread?

------
aframe
Don’t want to sully the conversation here, but I want to raise an important
point - so @feross, please stick with it.

I gave my daughter (6) my iPad for ten minutes this morning and put her on a
site to draw minecraft skins. I took a call and took my eyes off the device
(but not daughter) for about five minutes while I paced around the room. When
I sat back next to her, she somehow ended up on virus Café and was in a video
chat with someone. This scared the absolute hell out of me as I knew nothing
about the site, I wondered how on Earth she’d managed to stumble on it so
quickly, how she’d been able to allow access to device cameras so easily and,
ya know, “Virus Café”.

To get around it, I’ve default denied mic and camera access and had to have a
serious conversation about stranger danger.

I accept my own lapse in this, but to mitigate it happening to other kids who
don’t have helicopter parents, can you _please_ put some form of test _before_
you ask for camera settings? Some form of multiplication or division, or
asking for the year you were born would be a massive boost to safeguarding
young kids.

~~~
iamnotcorrect
I am 40, my first access to a computer was when i was about 4 maybe? I wrote
my first program (10 print "hello", 20 goto 10) at 6.. IMHO this early
introduction massively impacted my ability to understand tech and assimilate
information around me.

While i think that monitoring usage of devices is important, the idea of not
giving a 6yo an ipad or similar when in all likelihood their familiarity with
these concepts will benefit them greatly is a bit naive.

So while i don't know the answer, i 100% agree that the solution is not to
leave it all to parent.. I would expect a cashier to question my 15yo buying
booze, even if i had said it was okay - this is basically the same thing imho.

or a bit like the high voltage warning signs behind barbed wire and locked
gates in electricity sub-stations.. or weak roof signs that only burglars will
ever see - ultimately we want to minimise the harm.

~~~
y-c-o-m-b
Same here - almost 40 - I was exposed to electronics at a very young age and
that was an early catalyst into becoming a software developer.

Too often people argue for an all or nothing approach, when there's a good
compromise in-between.

Parenting is complicated. There's thousands of books on the subject and
probably thousands on the subject of electronic use for kids.

These comments telling the OP they can't change every website so "it's not
worth trying" are not productive. There's nothing wrong with requesting this
feature from Virus Cafe. Maybe it's something they were planning on doing
anyway. You never know and it doesn't hurt to ask. What if the change is
implemented and it becomes a web-design standard for other sites to adopt?
Every idea starts somewhere and HN is a good platform for it to start in.

------
laurensr
As this is HN, could you elaborate on the technologies you used to build this
platform?

~~~
feross
Sure thing.

The video and voice chat is powered by WebRTC. The getUserMedia API allows a
browser to access the webcam and microphone of the device. I used my own
simple-peer ([https://github.com/feross/simple-
peer](https://github.com/feross/simple-peer)) library to make WebRTC a bit
easier to work with.

The server is Node.js. I'm using Next.js for the first time on this project. I
usually use a custom Express server for my projects. I'm a fan of several of
Next.js's decisions -- it feels really nice to use, if a bit limiting
sometimes.

I use the 'ws' package
([https://github.com/websockets/ws](https://github.com/websockets/ws)) to
implement a WebSocket server which is used to help the peers get connected
over WebRTC. Once peers are connected, all video and video is transferred
directly in a peer-to-peer fashion.

Except sometimes the connection can't be established, so to improve
reliability of WebRTC you need to set up a TURN relay server for those
situations. I used coturn
([https://github.com/coturn/coturn](https://github.com/coturn/coturn)) for
that.

Lastly, I used Chakra UI ([https://chakra-ui.com/](https://chakra-ui.com/)) as
my React component library.

Really happy with how the easy the app has been to build.

The most difficult part was getting it to work on Safari for iOS. I spent
about 50% of the effort working around various bugs in the Safari media stack.
[https://twitter.com/feross/status/1263544033135038464](https://twitter.com/feross/status/1263544033135038464)

Hope this was informative!

~~~
putsjoe
That's great thanks, really informative. May I ask where your hosting this
all?

~~~
feross
I'm a huge fan of Linode. I've been a customer for nearly 10 years. I wrote an
review a long time ago here: [https://feross.org/linode-vps-hosting-
review/](https://feross.org/linode-vps-hosting-review/)

------
grewil2
> \- What is a belief you had as a child that you no longer have? ...

Hm, the type of some of these questions resemble the type of the personal
questions used for password recovery by some companies. As a paranoid person,
I am reluctant to disclose this information to unknown people.

~~~
dhimes
But you should never give the correct answer for password recovery.

 _What is a belief you had as a child that you no longer have?_

Purple Ocean.

And that can be your answer for all the questions: first pet name, elementary
school, and so on.

~~~
imtringued
> But you should never give the correct answer for password recovery.

Exactly. You're supposed to use your password manager to generate a second
password and use that as your answer. I know this sounds stupid but it is the
only way to stay safe.

~~~
dhimes
The only problem with this is if you have to read it to someone live.
Otherwise, yes!

~~~
woodrowbarlow
i've heard stories of call centers accepting "oh, i don't remember, i just
typed a bunch of random letters and numbers" as confirmation over the phone.

------
roastedjalapeno
The name does not inspire enough confidence for me to click on the link.

~~~
blackflame7000
Using the word virus on the internet is like using the word bomb in the
airport. It's not a good decision.

~~~
xwdv
It’s a great decision, it filters out some people you probably wouldn’t care
to talk to.

------
throwaway876786
I had some very interesting conversations here. I don't remember the exact
questions and dailogue but I'll note some here for users to know what they can
expect. It was addictive. I got to a couple participants that covered their
camera and decided to disconnect after seeing me (Internet strangers do that).

#1 What is the social and economics structure (theoritical or fictious) that
you tend to agree with. We spent a minute or so discussing how we are new to
the platform and it is our first session. The participant was from Europe and
immediately opted for Capitalism. I sort of agreed and waved good bye at end
of 2 mins.

#2 Do you believe in after life? The participant was a cheerful African women.
I disclosed that would prefer not to have a after life and belong the void.
That is the only way to achieve peace for me. She immediately exclaimed that
she prefers to have an after life as she believes that there is more to
experience than the chaos we experience in life.

#3 What is it that you would change in your past? It was a North American man.
We shared some personal experiences. We ended up extending the time multiple
times and it was fun talking. I think we both took something away from the
chat.

#4 You use a public toilet and notice there is no toilet paper. You are inside
the stall. What do you do? An Indian origin participant from Africa shared
some witty advice here. We ended up in small talk, and realized he has visited
places in my city in India. We had an interesting conversation about how
intellectuals can study spirituality and ignore the illogical and derive
value.

I had some very interesting conversations here. And I might use this platform
again. Good job!

------
melicerte
Just to say I love the background animation when one refuse to allow the
camera. Attention to details is everything.

~~~
feross
I am glad someone noticed!

------
avidmoon
My comments after trying it for a while:

\- First off all, I like the idea! Thanks for making this! HN will often hold
a hobby-project to the standards of a professional product, and will hence
criticize a lot, but don't get discouraged, I enjoyed it.

\- From time to time I got a repeated question, or the question was a bit
lame/uninteresting. Maybe add a feature so you're able to "reroll" the
question once per conversation (perhaps with agreement of the other).
Personally I would like it if you could e.g. choose a category before getting
matched.

\- I got insta-disconnected quite often. This doesn't really bother me that
much as I can try again immediately, but it could put people off when they try
out the app and get skipped the first couple of times. People will judge the
app on the first conversations. Do you punish frequent disconnecters? (Maybe
put a limit, like max 2 disconnects per minute)

\- The "no small-talk" is not very effective, some will entirely ignore the
question. But I don't really think you can avoid this.

\- I never got matched to a troll / something inappropriate. On the contrary:
some conversations where quite wholesome (like a very friendly camel farmer
with his little daughter). I hope it can stay this way.

\- A majority of people I got matched to where from Saudi Arabia. This is not
an issue on its own, but I found that many of these had poor English skills or
a bad connection, which made conversations difficult.

\- Some conversations where interesting, but some were also very lame. It's
not so much the question that's important but also the personality of the
person you get matched with. There are quite some people that go "idk lol how
about you" after getting asked the conversation question. However the quality
of the conversations are really the maker or breaker of the experience. It can
be worth wading trough the bad ones for the good ones. Good ones occur less
frequent tough, but tend to be longer. Indeed, 2 minutes is very short to have
a proper discussion, so you extend it if it goes well. You could try to
enhance this by e.g. making each renewal of the timer a minute longer.

------
swyx
tried matching with 3 people, all took one look at my face and peaced lol

nice app though! love the small touches with the emojis and sounds!

~~~
feross
That's a bummer! I think I'll implement a penalty for leaving in the middle of
a chat. Will auto-ban folks who do that too much. Thoughts?

~~~
Raed667
Maybe not ban right away, but how about longer waiting times between calls?

~~~
feross
That’s a much better idea.

------
Raed667
I love this, it is like chatroulette but everyone i met was super nice and
polite. (no surprise dicks is a good feature IMO)

~~~
Cthulhu_
Only a matter of time I'm sure. Is that still a problem with Chatroulette?
They really should deploy measures against that shit. Maybe shadowban perverts
so they end up together (which probably happens a lot anyway).

------
jnaddef
Maybe I am not stubborn enough, but my experience after 5 tries is:

\- Nobody showed their face to the camera - why not but it seems odd to not be
on equal foot

\- 1 person was doing ONLY small talk and did not seem interested to discuss a
specific topic.

\- 4 people saw me and immediately ended the chat

------
blakeburch
I love the idea of forcing "deep talk". I found that the fleeting nature of
the connection doesn't pair as well with in-depth answers and good
conversation, but it pairs great when the conversation is bad.

I also ran into a lot of instances where I got reported with the message of
"be nice" when the other person wasn't responding and/or wasn't on cam. I'm
assuming I got reported, but couldn't confirm why.

Overall, really cool concept and slick implementation. Just wish more than 30%
of the conversations had been fruitful. I'm assuming if you forced people to
have accounts, you'd be able to improve this experience over time.

------
supportact
Hey! Great idea. I've had a lot of fun with it. Honestly, I'm not sure how
this would even work, but it might be enjoyable if it were possible to
randomise the location of both parties a little more. For the first 24 hours,
I was meeting people from across the globe. However, for some reason, I now
match exclusively with people from Saudi Arabia who don't speak very good
English. I'm assuming the website was promoted there by an 'influencer' or
something. I've met a lot of lovely people living in Riyadh, but it was a lot
more fun when I didn't know where the other person was...

------
thih9
When I open it, I'm seeing "An unexpected error has occurred".

I'm assuming either website went down because of increased traffic, or it's
not working in Safari private mode. My video is also off by default, if that
matters.

------
vijaybritto
I spoke to a couple of people and then I realised that I shouldnt cover my
camera. My privacy filter was on and I got banned in 5 minutes. Good effort
but I feel like its a clone of chat roulette!

------
mythrwy
Wow I was a little nervous at first but that was really fun!

I did like 6 or 7. For some reason over half were from KSA. Might check that
random seed :)

But still fun. Kudos to author.

------
lxe
This sounds anxiety-inducing.

~~~
VWWHFSfQ
not everyone is terrified of social interaction

~~~
ReactiveJelly
Not all social interaction is this terrifying.

------
serial_dev
The screen that's visible when the video is not yet enabled is very annoying,
might even be an epilepsy seizure trigger.

------
AdamHurley
This app is awesome! great way to meet random people all around the world, and
engage in interesting conversation.

------
antigirl
The red button is clippped 80% on iPhone 7. My font size for OS is slightly
larger than default

------
kinj28
This is real cool. I would like something like this for blind matching a buyer
and a seller in this covid 19 time. Sellers get 2 mins and a buyer can extend
it by 5 mins. Speed dating for business.

------
docuru
The small talk dilemma, people like small talk use it to get into conversation
with strangers. And the others just don’t want to talk to strangers (or people
who are not alike)

End of story!

------
zumachase
Hi feross! I presume this uses simple peer? We’re using simple peer in our app
(currently on the front page as well). Thanks so much for your work!

~~~
feross
Yes, this uses simple-peer. I'm glad that it was useful for you! If it's a
for-profit app, please consider supporting me on GitHub Sponsors:
[https://github.com/sponsors/feross](https://github.com/sponsors/feross)

~~~
zumachase
We rushed to launch this without any paid features, but we're planning on
doing so. The moment we have a revenue stream, I'll be supporting you.

------
xwdv
The key to eliminating small talk is to announce observations and get to a
point where you speak with more statements than questions.

------
focom
Was fun to meet people there! Thanks feross

------
GrumpyNl
Whats the difference with chat roulette?

------
Scarbutt
The "click the emojis" doesn't increase in difficulty ;)

Are the 200 questions publicly visible somehwere?

~~~
feross
They're in a JSON file in the repo at the moment. I'll open source them later
today when I have a spare moment:
[https://github.com/feross](https://github.com/feross)

~~~
wenbo
I just wanted to start by saying thanks so much for your open source
contributions. I've been using simple-peer in a few side projects and it's
been a breeze.

Are you planning on eventually open sourcing Virus Cafe on top of releasing
the questions?

~~~
feross
You are very welcome. simple-peer has been massively improved by other OSS
contributors, and I am not an expert on the video/voice aspects of it as much
as the data channel, so it's actually really great that I open sourced it. It
enabled me to build Virus Cafe super quickly. The power of open source!

------
anakimluke
Nice! I have some feedback. Where can I send it to?

~~~
feross
My email is [my username]@feross.org

------
purplezooey
The rampant gratuitous flagging on HN has gotten out of control, this thread
is exhibit A. Stop flagging stuff. If it has the slightest tinge of humor or
sarcasm it gets flagged. Put the flag down. It's OK to be a little funny
sometimes. Just stop.

~~~
chrisseaton
> It's OK to be a little funny sometimes.

But people usually not trying to be funny is the only thing that makes this
site usable over something like Reddit.

If we can keep away jokes and puns for as long as possible, that'd be great.

------
starpilot
Please tell me one of the topics is abortion. Always a good icebreaker. Virus
cafe? Seriously, will my computer catch something using this site?

~~~
feross
No abortion questions, but I do have a 3-4 absurd questions in rotation, just
to spice things up :)

\- Would you rather have someone secretly give you LSD on a random day once
every 6 months or make everyone in the world take LSD all at the same time
once every 5 years?

\- Would you rather have taste buds on your butthole or poop through your
mouth?

\- Would you rather have sex with Donald Trump in secret, or not have sex with
him but everyone thinks you did?

~~~
O_H_E
First one is really nice, second is fine.

Are you creating these yourself or have some source?

------
nicc
Gives out pretty negative feelings to me.

A sad emojii with a face mask is pretty depressing, and even worse if you see
the mask as political.

Black lives matter is destroying cities across the USA.

I'm sure it's just me, but I wonder if anyone else sees this?

~~~
feross
Sorry that you don't like it. Can't please everyone. Lots of people have told
me they've had fun meeting new people from around the world.

Regarding the hashtag, I put it there because I'm against police brutality and
I'm horrified by what the police are doing. Looters should be arrested and
prosecuted, for sure. But police have a monopoly on the use of violence and
must be held to a higher standard.

~~~
nicc
I didn't write I don't like it, mostly think being more neutral and removing
political statements might be better.

As for the Police, that was one guy. What percentage of cops kill innocent
people, vs. save you from the bad guys (I was saved by cops twice, for
instance). Also looks like the guy is going to be held at a higher standard
and will get a harsh punishment. Is looting and burning down stores that in
many cases represent people's life savings the correct way to solve the
problem?

As you see, we could be talking about your chat, and we're talking about
violence and depressing things like a store owner saving money for 20 years
only to see it burn down by Antifa.

~~~
Garlef
I think it is easy to misread the implied context of your statement as

protestors = looters = antifa.

Which is of course not true.

These are three seperate groups of people and the only subset relation that
holds true (using a definition of `protestors` as simply participants) is

protestors > looters.

And I guess they constitute only a small percentage.

Additionally: Not everyone who would signify themselves as part of the antifa
is a looter and not every looter is part of the antifa.

I would not jump to any conlusion about the ratios `looters/(antifa looters)`
and `antifa/(antifa looters)`. (Note: They are not inverse).

Overall, my impression is that the antifa plays only a minor role and was
mostly brought up by T. to derail the public discussion.

~~~
nicc
I hope it's Antifa (a terrorist organization), and not regular kids that go
out and beat up old ladies.

~~~
ReactiveJelly
Are they organized?

Are they able to kick people out? They have an official communications channel
to take credit for the crimes they commit, and disown crimes they don't want
to be associated with?

~~~
nicc
I don't know, but I've seen what they do, so if this can force cities to
arrest them and make punishmenta harsher, it's most welcome.

