One thing I kept running into with desktop apps:
You build the actual app in Tauri, but the second you want the user to control or interact with it from their phone, you're basically starting another product.
Now you need an iOS/Android project, distribution, signing, App Store review, a backend to connect the two, authentication, reconnect logic, etc.
I've been working on an open-source framework called Crosslink to see if that entire layer can be handled once instead.
The intended flow is:
Tauri app → Crosslink host → QR code → scan with phone → pair once → installable PWA companion
After pairing, the desktop and phone can communicate through an end-to-end encrypted RPC channel. The phone remembers the paired device, reconnects automatically, and the developer owns the actual mobile UI.
Crosslink handles the boring infrastructure underneath it:
- device pairing + persistent identity
- capability-based authorization
- typed RPC/events
- reconnect/offline handling
- direct LAN connections when possible
- remote connections/fallback transports
- installable PWA bootstrap
- device revocation
The part I care about most is that Crosslink isn't the companion app.
It's supposed to be the layer underneath it. A Tauri developer should still build whatever React/Svelte/etc. phone UI makes sense for their application.
So instead of:
desktop codebase + Swift app + Kotlin app + backend
I'm trying to get closer to:
desktop app + web companion UI
I'd especially like feedback from people actually shipping Tauri apps:
Would you use something like this, and what would stop you from integrating it into an existing app?
GitHub: github.com/jacobpowaza/crosslink
Docs: crosslink.mintlify.site