Boom Labs ยท Assistee
Remote support engine โ€” architecture decision
Build vs Buy

Powering Assistee remote support: the RustDesk problem & the options

Self-hosted RustDesk is the hardest possible path for what Assistee needs โ€” and it's leaking through the brand. This lays out every realistic engine, what each costs, and a recommendation for a system that's both easy and on-brand.

Need: attended + unattended Devices: Windows POS + Android menu screens Brand: Graphite Violet ยท "Boom Assist" Model: internal โ†’ agency resale 2026-07-23

โš ๏ธ Why the current setup hurts

Assistee was scaffolded on free self-hosted RustDesk. That decision optimized for "95% margin / full ownership" on paper, but in practice it's the worst-of-both-worlds for a support tool you want to look polished:

Good news: the Assistee dashboard, org/team/billing, sessions log, and BOO hook are ~90% engine-agnostic. Only the session-invite generator and the client download page are RustDesk-specific. Swapping the engine underneath is cheap โ€” the shell you built is keepable no matter which option you pick.

๐ŸŽฏ What Assistee actually has to do

Hard requirements

  • Both modes: live attended sessions and unattended access to always-on devices.
  • Windows POS control (restaurant registers, back-office PCs).
  • Android menu screens โ€” unattended, often headless-ish.
  • Fully branded as "Boom Assist" โ€” no third-party name in the client's face.
  • Wire into the existing Assistee dashboard + BOO "Request Support" hook.

Soft preferences

  • Low ops. "The Rust thing seems hard" โ€” minimize servers/firewall/keys.
  • Cost-sensitive at internal scale; margin matters at resale later.
  • You've used & liked Zoho Assist before โ€” familiar UX is a real advantage.
  • Internal/embedded now โ†’ white-label resale to agencies/freelancers later.

๐Ÿงญ The core fork: Build vs Buy

BUILD / SELF-HOST

You run the engine. Near-zero per-seat cost, full ownership, best resale margin โ€” but you own uptime, the relay server, agent deployment, and code-signing.

Best when: you want to own the stack and volume is high enough that per-tech license fees would sting.

BUY / WHITE-LABEL

A commercial engine does the hard parts (relay, signed clients, Android, mobile, uptime); you rebrand it and wrap it in the Assistee dashboard via their API. Pay per tech/month.

Best when: you want it working this week, branded, with Android + mobile handled, and low ops.

๐Ÿ“Š Every option at a glance

OptionTypeIndicative cost*UnattendedAttendedAndroidBrandableOps loadAPI
Zoho Assist โญBuy~$10โ€“24 / tech / mo YesYesYesRebrand*LowREST
MeshCentralBuild$0 (droplet only) YesYesWeakFullMediumYes
AnyDeskBuy~$15โ€“80 / mo (tiers) YesYesYesCustom client*LowLtd
Splashtop SOS/OEMBuy~$17โ€“40+ / mo ยท OEM custom YesYesYesOEM SDKLowYes
GetScreen.meBuyfree โ†’ ~$8โ€“18 / mo YesYesLtdWhite-label*LowYes
ConnectWise ScreenConnectBuy~$39โ€“50 / tech / mo YesYesYesFullMed (self-host opt)Yes
RustDesk Pro (self-host)Build~$10โ€“33 / mo license YesYesYesClient genHighYes
RustDesk free (current)Build$0 YesYesYesNoHighNo
Chrome Remote DesktopFree (Google)$0 Own machinesYesWeakNoneNoneNo
Apache GuacamoleBuild$0 (droplet only) Yes (RDP/VNC)LtdNoFullMediumLtd
In-app WebRTC shareBuild$0 NoYesView100%LowN/A

*Pricing is indicative (per-tech, billed annually) and changes often โ€” confirm current tiers before committing. "Rebrand / white-label" availability is usually gated to a vendor's higher tier (custom logo, custom domain, remove-vendor-branding).

๐Ÿ’ณ The buy options, in detail

๐ŸŸฉ
Zoho Assist
~$10โ€“24 / technician / mo ยท rebranding on Professional+
Recommended

The one you already know and like โ€” and it happens to check every box. Browser-based technician console (nothing for you to install), one-click attended sessions via a link/PIN, and true unattended access. Critically for restaurants: native Android unattended covers your menu screens, and Windows agents cover POS.

  • Covers attended + unattended out of the box
  • Android + iOS + Windows + Mac โ€” solves the menu-screen gap
  • Rebranding (your logo, custom portal domain, custom emails) on Professional/Enterprise
  • REST API โ€” wire it under the Assistee dashboard
  • Zero server ops โ€” no relay, no firewall ports, signed clients handled
  • Cheap; you already know the UX = fast rollout
  • Recurring per-tech cost; margin compresses at resale
  • True white-label (zero Zoho mention) needs a higher tier
  • Not "owned" โ€” you're a tenant of Zoho
Fit for Boom: Best match to the actual requirements and your stated preference. Keep the Assistee dashboard as the branded shell + org/billing layer; call Zoho's API underneath and rebrand the client. Live in days, not weeks, with Android covered.
๐Ÿ”ด
AnyDesk
~$15โ€“80/mo tiers ยท custom client add-on

Fast, lightweight, great Android. A custom client / namespace (your name baked in) is available on higher tiers + power add-ons.

  • White-label gated behind pricier tiers/add-ons
  • API is thinner than Zoho/Splashtop for embedding
  • Licensing by concurrent sessions can bite at scale
Fit: Strong runner-up to Zoho if you prefer AnyDesk's speed โ€” but no clear advantage over Zoho for your needs, and you don't already use it.
๐Ÿ”ต
Splashtop (SOS / OEM)
~$17โ€“40+/mo ยท OEM SDK custom-priced

The most serious white-label/OEM program โ€” an actual SDK to embed a fully-Boom-branded remote engine into your own app.

  • OEM pricing is enterprise/custom โ€” heavier commitment
  • Overkill until resale volume justifies it
Fit: The "graduate here later" option โ€” if agency resale takes off and you want a truly embedded, fully-branded engine you don't self-host.
๐ŸŸฃ
GetScreen.me
free โ†’ ~$8โ€“18/mo ยท white-label + API

Browser-based, cheap, has white-label + API on paid tiers. A budget alternative to Zoho.

  • Smaller vendor; Android support is more limited
  • Less proven at restaurant/POS scale
Fit: Cheapest branded "buy" path, but Zoho beats it on Android + maturity for the same ballpark.
โš™๏ธ
ConnectWise ScreenConnect
~$39โ€“50/tech/mo ยท self-host option

The MSP standard โ€” deep branding, self-host license option, strong unattended fleet management.

  • Priciest per-tech of the practical set
  • Built for IT shops; more than Boom needs today
Fit: Overbuilt for restaurant support. Revisit only if Assistee becomes a full MSP product.

๐Ÿ› ๏ธ The build options, in detail

๐ŸŒ
MeshCentral
Free ยท one Node container on the existing droplet
Best if you build

Open-source, fully web-based remote desktop. A single server (far simpler than RustDesk's two-container + key + 5-port dance), the technician works entirely in the browser, the device agent is fully brandable ("Boom Assist"), unattended access is native, and there's a real API. This is the DIY pick that actually beats RustDesk on ease.

  • Free + fully owned = best resale margin
  • Branded agent, browser-based tech console
  • Native unattended for always-on POS/PCs
  • One container on the Coolify droplet you already run
  • Weak Android โ€” your menu screens aren't well covered
  • You own uptime, agent rollout, and code-signing
  • Rebuild the engine layer (swap rustdesk.ts)
Fit for Boom: The right answer if you insist on owning the stack and zero per-tech cost โ€” pair it with a cheap Android-capable tool for the menu screens, since that's its one real gap.
๐Ÿฆ€
RustDesk Pro
~$10โ€“33/mo self-host license

Keeps almost everything you built. Pro unlocks the branded client generator (your logo + relay baked in), a web console, and an API.

  • Still self-host the relay + firewall + code-signing (the hard part remains)
  • Client is still a native download
Fit: The "minimum change" path โ€” but it pays money and still leaves you running the relay. Zoho costs similar and removes the ops entirely.
๐ŸŒˆ
Chrome Remote Desktop
Free ยท Google-hosted, zero ops
Not as engine

Dead-simple and free: client visits remotedesktop.google.com/support, runs a tiny host, reads you a one-time code. Great for a quick personal "help my own PC" moment.

  • Zero branding โ€” the client sees "Google / Chrome Remote Desktop," never Boom
  • No API โ€” nothing to embed behind the Assistee dashboard
  • Unattended mode is built for your own Google-account machines, not a fleet of separate client devices
  • Weak Android host support โ€” doesn't cover menu screens
Fit: Fine as a personal stopgap, wrong for a product. You can't sell or brand what is visibly Google's page.
๐Ÿ–ง
Apache Guacamole
Free ยท clientless RDP/VNC/SSH gateway

Clientless โ€” control a machine from the browser with nothing installed on it, via RDP/VNC. Great for Windows POS/back-office.

  • Needs RDP/VNC enabled + reachable on each target
  • No Android; not built for ad-hoc attended support
Fit: A niche complement for fixed Windows machines you control โ€” not a whole-product engine.
๐Ÿ“ก
In-app WebRTC screen-share
Free ยท zero install, 100% your brand

Client clicks a link, shares their screen in the browser. Nothing to download, totally on-brand.

  • Attended only โ€” no unattended, no true remote control (view/guide)
  • Doesn't meet the "both modes" requirement alone
Fit: A lovely lightweight add-on for quick guided help โ€” not the core engine, since you need unattended too.
๐Ÿฆ€
RustDesk free
$0 ยท current setup

Where you are now.

  • Unbranded ("RustDesk ID" leaks to clients)
  • No API, manual flow, high ops, SmartScreen warnings
Fit: Retire it. It's the worst-of-both-worlds: DIY ops and off-brand.

๐Ÿ“ฑ The deciding factor: Android menu screens

This is what breaks the tie

Restaurant menu boards are usually Android, unattended. That single requirement quietly eliminates most build options: MeshCentral, Guacamole, and WebRTC either don't do Android unattended or do it poorly. The engines that cover Windows POS + Android menu screens + both attended & unattended in one system are the commercial ones โ€” Zoho Assist, AnyDesk, Splashtop. Among those, you already use and like Zoho, it's the cheapest mature one, and it has the API to sit behind your dashboard.

โœ… Decision (2026-07-23)

Keep RustDesk (free, self-hosted, owned) โ€” and make the GUI intuitive + branded.

The pain was never RustDesk's capability โ€” it does both modes, Android, and one-click connect. The pain was our clunky, jargon-leaking front-end ("enter Your RustDesk ID") and the unfinished theme. So we fix what we control: brand it "Boom Assist," clean up the flow, finish the theme. Free + owned = best resale margin, no per-tech fee. Chrome Remote Desktop and raw manual RustDesk are both rejected; Zoho stays the documented pay-to-remove-ops upgrade.

The one honest caveat โ€” and the free way around it

Until a custom client exists, the app the customer downloads is still literally named RustDesk โ€” our copy brands every screen we render, but not the third-party installer. Two ways to fully brand it + bake in the server so the "set your server" step vanishes:

  • RustDesk Pro โ€” custom-client generator in a web console. Easiest, but ~$148/yr (not buying yet).
  • Self-compile from source (free) โ€” RustDesk is AGPL; a GitHub Actions workflow builds a "Boom Assist"-branded client with logo + server + key baked in. $0, just setup effort. This is the current plan.

๐Ÿ”ง What we fixed today

  • Custom-client wiring: the client-facing session page is now installer-agnostic. New env vars (NEXT_PUBLIC_ASSIST_DL_*, RUSTDESK_SERVER_KEY, NEXT_PUBLIC_ASSIST_CUSTOM_CLIENT) let you drop in Boom Assist installers later; setting the flag auto-collapses the flow to Install โ†’ Connect. Meanwhile the free client shows a one-click copy for server host + key instead of a settings hunt.
  • Still to do: (1) run the SQL to mark the Boom Media org internal/active; (2) commit + push to deploy to assistee.online; (3) grab the relay public key and set RUSTDESK_SERVER_KEY; (4) later โ€” self-compile the branded client (free) or buy Pro. Engine layer lives in src/lib/rustdesk.ts.

    ๐Ÿš€ Suggested path

    1. Immediate โ€” fix the brandMigrate the 11 pages still on the old sky-blue palette to Graphite Violet (#8b7bf0), and strip "RustDesk" from the session-invite UI. Set your internal Boom Media org to an active/internal plan so the trial + "Upgrade Now" nag disappears (you're the admin/owner).
    2. Decide the engineConfirm Zoho Assist (rebranded) vs owned MeshCentral. If Android menu-screen control matters at all โ†’ Zoho.
    3. Wire Zoho behind the dashboardSwap src/lib/rustdesk.ts for a Zoho API adapter; the session-invite page generates a Zoho link/PIN instead of asking for a RustDesk ID.
    4. Rebrand the clientZoho Professional+: upload the Boom logo, set a custom portal domain, custom email โ€” so the client only ever sees "Boom Assist."
    5. Register devicesInstall the rebranded unattended agent on restaurant POS + Android menu screens; map each to its org in the Assistee devices table.
    6. Ship the BOO hook"Request Support" in BOO โ†’ creates a Boom Assist session via the same adapter. Same UX you already designed, real engine underneath.
    Boom Labs ยท Assistee remote-engine decision ยท 2026-07-23 ยท Pricing indicative โ€” verify current vendor tiers before purchase. Related: assistee-comparison.html ยท engine layer lives in SaaS/Assistee/src/lib/rustdesk.ts.