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.

As a side project over the past few weekends, I've been building an Android screen sharing tool
called Zipshare (https://www.getzipshare.com) 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. There's no 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]

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.

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 :)

You can try it by entering your email address and waiting on the next page while clicking the link
you receive on an Android 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.

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.

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 this 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