Show HN: Coffeehouse, one-on-one voicechat with random HN users
coffeehouse.chat
coffeehouse.chat
That being said, project got sunsetted because open source projects always make way for priority so love to see people love this.
> iceServers:
> urls: ["stun:stun.l.test.com:19000"]
With such a STUN server URL, no wonder nobody ever gets a match…
And it's kind of a nasty bug: it doesn't appear anywhere in the JS console, or in the network tab of the browser, and it's likely to work when testing locally (I haven't tested, but you should not need stun to generate local ICE candidate) so the dev could have tested in local, seen it was working and posted it on HN. Just to discover it was not working after reaching the front page… Sad day for the poor dev.
(Otherwise you get this Error “RTCPeerConnection constructor passed invalid RTCConfiguration - improper scheme” (Firefox, but you should have a similar one in any browser))
Edit: https://news.ycombinator.com/item?id=30185324 has the error as it appears in Chrome.
I just released self serve client app signup so everyone who’s making stuff for HN like this please check it out —- you should be able to build your OAuth2+OIDC login flow right away.
I wonder if it would be possible to limit Oauth access to accounts with a minimum karma level? Maybe it's a problem that doesn't exist yet, but I could imagine it would help defend against spammy throwaway accounts.
You can easily disallow someone from logging in via your app once you get the data related to their OAuth2 token.
No it actually is meant to work, though, I admit, it doesn't seem to.
> Would be better if I could actually read HN while waiting, might make people willing to keep waiting longer on mobile.
Interesting idea.
just to get an idea how active the service is.
later also show stats for 24 hours to see which daytimes are busiest and more likely to meet find someone online.
It actually would be really interesting if there was a functionality to chat with other people viewing the same article. Or still one-to-one, but with someone else also looking at the article.
Would hate for something like that ever to detract from the reading experience though - e.g. someone with something great to say or niche experience etc. tells their story then feels no need (or lacks the energy/motivation) to write it out again.
Similar problems to chatroulette, i.e., cyberdisinhibitionism, backgrounds/communication impedance mismatches, although hopefully not as many flashers.
My luck, I'd get the homeless guy at the coffee shop breathing into the microphone saying "I never use my real name. And, I always wear extra tin foil in winter when the mind beams are stronger. The FBI has a file on me a mile high. They're out to get me. Do you hear those voices too?" (This is based on the personality of a real, harmless person who did live in 24 hour coffeeshops in SV.)
If that doesn't work it might be that the DNS change didn't propagate yet to you, please use https://coffeehouse.deno.dev/hn.
also, while i am at it, i'd prefer a small group rather than one on one.
Really, people shouldn't have to be aware of regions at all, which is why I initially wanted to use just one server, rather then deno deploy. (I still plan to realize that with deno deploy, it's just harder.)
> also, while i am at it, i'd prefer a small group rather than one on one.
Thought about that, but one-on-one seems simpler in many ways. There's never the question of who starts speaking. If one person stops, the other starts. It's also easier for two people to find a common interest then for more.
one-on-one requires everyone to speak. with more people some can listen and only speak when they have something interesting to add.
if the two people don't have a topic then there will be an awkward silence. with more people it is also easier to find any topic to talk about.
for introverts getting started is difficult, but ending a conversation equally so.
in small groups people can join, wait until they are asked to introduce themselves, listen until they have something to say and leave whenever they need to without inconveniencing anyone else who wants to continue to talk.
In the long term, I want to make it possible for everyone to have their own coffeehouse ... voicechat with random people from your favorite subreddit, readers of your favorite blog, etc..
Maybe they work out the matching algorithm to consistently connect with exactly who they want to connect with. Maybe they can get IP addresses or PII or social engineering returns from meeting people.
All that said, that doesn't mean this project isn't valid, fun, cool, innovative, or has potential. Its an impossible expectation to want every side project to have perfect security, authentication, and user-verification/moderation.
I just want to make the point that there's a very high likelihood people will do weird shit with it.
On a similar note, is there an (un)official HackerNews IRC/Slack/Discord of some kind? A few times I'll be trying to find an article/comment section of something I remember reading on HN, but can't find it using the search or my upvoted submissions. It would be nice to have somewhere I can ask minor questions without making a post.
Update 1: A match didn't occur yet, 30 minutes total wait time.
Update 2: Still no match. I entered the wait room for the original submitted link and left the tab open for 30 more minutes in the background (2:48 pm ET to 3:18 pm ET), with unmuted headphones on. 60 minutes total wait time across sessions.
alternatively consider using existing platforms like jitsi. the benefit of your site is not the implementation of the audio channels but the ability for HN users to find each other. you could create a frontend where HN users join but are redirected to a jitsi room once they are matched.
unless of course part of the point is for you to experiment and learn webrtc and related technologies...
I checked ram and cpu with top when I was using a VPS, and it was basically nothing. (I didn't monitor it continuously, so maybe that was still the problem.) But you're right in principle, I should use one server.
> alternatively consider using existing platforms like jitsi. the benefit of your site is not the implementation of the audio channels but the ability for HN users to find each other.
But once people found each other, it's webrtc, it's p2p, so that shouldn't be a problem for the server.
The project is still live but in retrospect I would have started with a niche audience & let them decide on a time before hand. Then start on demand matching only when the site reached a critical mass of users.
On a side note I am impressed that your post reached the top page & got >150 upvotes. When I tried posting I was only able to get 3-5 upvotes :/
It would be great if it could show how long it takes on average until one is matched with a partner. Maybe it could also show how many people are chatting right now.
1. Doesn't seem to work for anyone
2. Doesn't have anything specific to do with HN users. Since anyone can use it, it's just a random voice chat connection website.
it's not easy to find a solution for that on the spot. give it time.
Still, I learned a lot from the comments (e.g. the problem of a server overload and fix of switching to a distributed server as a workaround; the jitsi platform; the importance of user statistics (e.g. number of people chatting right now, average time for connection) to encourage people to stay on; and the bug that another user found that may have caused the software to work locally, but not when deployed [0].
Update: No match yet, after another 30-minute session. I opened the wait room for the original submitted link and left the tab open for 30 more minutes in the background (2:48 pm ET to 3:18 pm ET), with unmuted headphones on.
A (relatively) narrow interest pool (like HN) makes talking with someone about common interests highly attractive. Qudos to the creator.
The nichification of social networks suffer from this problem of loving it vs having the time/effort to use it. Maybe a button on HN here would make it more approachable to people but not as a standalone site. Funneling people outside of their common interest space is super hard and unsustainable without appealing a to a boarder group and forming a unique community within itself. But in that process you just lost your original vision.
For this app, I would suggest incorporating features from Omegle. Having a chat section and having a status section would be nice.
Not being dismissive at all but this is just a rant :/
DOMException: Failed to construct 'RTCPeerConnection': 'stun.l.google.com' is not one of the supported URL schemes 'stun', 'turn' or 'turns'. at createPeerConnection (https://coffeehouse.chat/hn:70:40) at startChat (https://coffeehouse.chat/hn:56:42)
Will definitely try this out!
hn:78 Uncaught (in promise) DOMException: Failed to execute 'send' on 'WebSocket': Still in CONNECTING state. at RTCPeerConnection.peerConnection.onnegotiationneeded (https://coffeehouse.chat/hn:78:29)
Presumably this would help overcome the initial coordination problem, and over time as the user base grows it would be less and less necessary.
People can schedule one-on-one meeting with their interests. Others can then get in contact to arrange a virtual/real life meeting.
Current focus is on bigger companies but an open version is out for everyone to use.
Feel free to get in touch with me!
When I heard about it I really felt a deep connection to that accountant. Sure hope I never meet him.
At first try the website did not load, a few refreshes later I can now see the home screen but nothing happens when I click anywhere on the page.
It's like Clubhouse around a URL.
Please tell me how I can build something like this?
I had to hurl my computer off the bridge into the river to ensure I didn't click anywhere to start.
keep this tab open and your headphones on for a while ..."
There's no indicator for how long the queue is, so a match could happen at any time. The serif font, lack of sentence capitalization, and repeating stock photos of the espresso cup also create an emotional atmosphere reminiscent of the SCP Foundation and nosleep fictional horror stories involving the exploration of the internet.
The first just rambled about how much PHP sucks and how great Postgres is, for no apparent reason.
The second touted how amazing Kubernetes is, and then asked if I could help them configure it for their small project.
The third went on a long rant about how they could build Zoom as a weekend MVP.
The fourth tried to explain how we should run the entire world on SQLite.
I know many people that go through Omegle when bored and meet new folks. Seems like the same concept.