Show HN: Zipshare – one-step Android screen sharing for support teams
Hello HN community!

I work as an Android developer at a large retailer, on the app that the in-store employees use to
see their schedules, view product details, get support, etc. Part of our engineering on-call
rotation involves helping these in-store employees with any app issues they may encounter. There are
always a few times every rotation where I know solving someone's problem would be way easier if I
could just see their screen as if I were in-store with them.

However, many of these employees are non-technical and wouldn't want to go through the onboarding of
TeamViewer or Zoom, are under time constraints in a busy store, or (understandably) just wouldn't
know how to get set up.

As a side project over the past few weekends, I've been building an Android screen sharing tool
called Zipshare (https://www.getzipshare.com, demo video: https://www.youtube.com/watch?v=Iuc3HBIuMZE)
that aims to be absolutely as easy as possible to use for the person sharing their screen. All the
sharer needs to do is receive an email (or eventually a text) on their Android device and click a link.
They will be sent to the Play Store, and upon launching the app, will automatically be sent to their
session. Users don't need to create an account or enter a meeting code - there's literally one screen
in the app ("xyz@abc.com invited you to share your screen, would you like to?") In fact, I originally
wanted to use Play Store Instant Apps to eliminate the installation step entirely, but you can't
open a raw socket from an Instant App, which I currently depend on... [1]

You can try the live demo by entering your email address and waiting on the next page, while clicking the link
you receive on an Android device. Allow the screen share and you'll see it appear in your browser
on the first device. When this is more built out, support agents will be able to sign in to their
account and click a button to generate a new link/send it out. I also want to integrate with
platforms like ServiceNow, PagerDuty, and Zendesk to allow generating screen sharing sessions
directly from tickets.

I focused on Android for this initial version because the wide variety of devices makes giving
support more difficult than on iOS, and because I have way more experience with Android :)

Other features I want to include are automatic notification suppression while sharing (for privacy),
an "instant connectivity check" that reports basic system state to the agent like cell/Wi-Fi signal
strength and whether a VPN is enabled, and an annotation feature so that agents can draw attention
to certain areas of the screen.

My goal with Zipshare was to do one thing and make the experience as streamlined as possible. For
example, there's no voice or video calling because chances are the two parties will already be on
some other kind of call.

Technical details:

* Screen sharing: WebRTC with signaling provided by a self-hosted LiveKit server instance

* Android side: Kotlin, Jetpack Compose, LiveKit SDK, Play Store Referrer API to route the session
ID through to the app install, "classic" Android 3rd party libraries (OkHttp, Retrofit, KotlinX
serialization, ...)

* Website and API: Node.js, Express, two Pug templates, one CSS file, 50ish lines of JS excluding
LiveKit, SQLite DB with one table.

Design details:

* Icon: Fiverr

* Colors: ChatGPT

* Landing page copy: The best I could come up with

Please give it a try and let me know what you think! I am eager to test this on as many
devices as possible, especially older or low-end devices. I built this because I wanted it, but
would it be useful for you or your team? Any feature requests?

[1] https://issuetracker.google.com/issues/191070661, naturally "Won't Fix", definitely something
to hack around in the future

(note: I was given the OK to repost this for a second chance)