Remix.run Logo
Show HN: Screen Sharing in the Browser(github.com)
151 points by tonghohin 15 hours ago | 35 comments

Seeing all the hype around Bolt.new, I decided to give it a try, and within just 30 minutes, I built a fully functional web app for screen sharing.

How It Works:

- One user opens a room and receives a unique code.

- Participants join by simply entering the code to view the shared screen.

After that initial build, I moved the project to Cursor to continue iterating and enhancing its features.

Github: https://github.com/tonghohin/screen-sharing

Demo: https://share-your-screen.vercel.app

thrdbndndn 12 hours ago | parent | next [-]

Did a quick test on Demo site. It works like a charm.

One issue: when I stopped sharing, my audience (my another computer) can still see my shared screen (I assume the last frame), what I think it shouldn't. And there is no indication or whatsoever that I have stopped sharing.

tonghohin 12 hours ago | parent [-]

Thanks for the feedback! I’ll check out the issue. It still has a lot to improve!

mvkel 2 hours ago | parent | prev | next [-]

What I love about developing with cursor et al is it forces devs to keep the app simple.

No custom UI bloat when shadcn will do; no feature creep when the outline is fulfilled.

Simple apps < 30,000 LOC means cursor can keep the code base in the context window, so its generations stay high quality.

karhuton 4 hours ago | parent | prev | next [-]

Tried making one that would work on almost any device:

https://bluescreen.live

https://github.com/karhuton/bluescreen

Runs on Hetzner EU currently.

Maybe I should open source it.

atmanactive 5 hours ago | parent | prev | next [-]

Great! Thanks.

While we're on the subject of WebRTC, if anyone would need MIDI over WebRTC, here is my take on it:

https://github.com/AtmanActive/webmidi-rtc-transport

ghusbands 2 hours ago | parent | next [-]

Browser-based screen sharing is the subject. Is it normal to advertise unrelated projects in HN comments?

Ylpertnodi 2 hours ago | parent | prev [-]

Perfect timing! Seems to suit (some of) my needs, thanks. And +1 for mentioning sonobus - that's a lot of fun, too.

low_tech_love 9 hours ago | parent | prev | next [-]

Slightly off-topic, but I’ve been searching for a long time for something like this, but for text chat: go to a website; create a room; share a code/link with others; people join and chat; then at some point in the future the room simply disappears (you can save a log if you want). Ideally anonymous with the best possible cryptographic implementation.

Has anyone stumbled upon something similar? I hate having to register and login to every chat platform, especially bloated ones like Discord and Slack. The closest one to what I want is gitter but it requires a GitHub signin.

jckahn 3 hours ago | parent | next [-]

I built exactly what you’re describing: https://chitchatter.im/

It’s decentralized, serverless, anonymous, private, ephemeral, and open source.

low_tech_love 25 minutes ago | parent [-]

Looks great, will try!

jckahn a few seconds ago | parent [-]

Awesome, thanks for checking it out! Let me know what you think. :)

jeroenhd 6 hours ago | parent | prev | next [-]

I think https://call.element.io/ works like that. Calls are encrypted and the client includes screen sharing and all the standard video conferencing features.

Jitsi Meet is also a classic example of this, though these days it requires at least one logged-in "moderator" user to work.

brennopost 3 hours ago | parent | prev | next [-]

You could easily build one using Yjs [1]. I'm using it for my work together website [2] (it has a chat).

[1] https://github.com/yjs/yjs

[2] https://juntos.pages.dev/

akshayKMR 7 hours ago | parent | prev | next [-]

Mine is a work in progress, but chat should work just fine. Let me know if you have any questions/concerns.

https://oorja.io/

click create space -> choose proceed as anonymous -> In your space, use chat or other apps. It's end to end encrypted (using the hash-frag in url as key, AES-128 bit GCM)

tasoeur 7 hours ago | parent | prev | next [-]

Something like this? https://offrecord.ca/#lobby

croisillon 8 hours ago | parent | prev | next [-]

Jitsi Meet?

cess11 7 hours ago | parent | prev [-]

Do some Phoenix tutorials and you have your own.

IshKebab 9 hours ago | parent | prev | next [-]

If you can get remote control to work that would be amazing. I assume that's impossible with current browser APIs though. A real pain point of Google Meet.

atoav 9 hours ago | parent [-]

I too yearn for the day where my parents webbrowser can run Win+R and delete their System32 directory after they clicked "Ok" on a prompt whose message they wouldn't be able to tell me if I paid them a billion Euros for it.

mandeepj 12 hours ago | parent | prev | next [-]

Gave it a quick run! Works great. The notification to share your screen goes away quickly. Is there any way to get back to it? I generated a new code to fire the notification again.

tonghohin 17 minutes ago | parent [-]

I just fixed that, the share button should stay forever now until you click it.

chuanliang 7 hours ago | parent | prev | next [-]

Nice work.

Similar to https://pin.gl/

yroc92 11 hours ago | parent | prev | next [-]

Does this share your screen across domains? If so, how?

5evOX5hTZ9mYa9E 7 hours ago | parent | prev | next [-]

Doesn't work on Linux?

sgrodnik 8 hours ago | parent | prev | next [-]

I'm not sure, but is it possible to make it work on Android? I've tried on my pixel 7a, it gave me the code, I pasted it in another device in Safari, but it was only Loading... on the button.

tonghohin 14 minutes ago | parent [-]

Yeah, it's not working that well on phones right now, working on it...

lopkeny12ko an hour ago | parent | prev | next [-]

Immediately upon loading the homepage:

> Application error: a client-side exception has occurred (see the browser console for more information).

tonghohin 2 minutes ago | parent [-]

I guess you visited the page right after a new deployment. This happens sometimes due to a version mismatch in Next.js after deployment. Refreshing the page should fix it!

1oooqooq 12 hours ago | parent | prev | next [-]

why the source have an accordion and carousel component? :)

ddtaylor 12 hours ago | parent | next [-]

Are you talking about in components/ui? If so that's ShadCN and it works by fetching components and copy/pasting them into your project rather than trying to continue to keep the components up to date.

tonghohin 12 hours ago | parent | prev [-]

don't know why Bolt.new downloaded all the shadcn components for me lol

reynaldi 11 hours ago | parent | prev | next [-]

Awesome demo! Are you paying for the TURN server?

tonghohin 18 minutes ago | parent [-]

No, it's not using TURN server now.

humptybumpty 10 hours ago | parent | prev [-]

-

kapitanjakc 9 hours ago | parent [-]

For mobile I find google meet the best, I think even Whatsapp is now allowing to screen share.