If you've installed a custom theme on an Android head unit in the last few years, the workflow probably went something like this:
- Download the theme to your computer
- Copy the file onto a USB drive
- Walk out to the car
- Plug the USB drive into the head unit
- Open the launcher's import or theme menu
- Browse a folder structure on the head unit's tiny touchscreen
- Select the file
- Type a license code if it's a paid theme
- Wait, hope it loads, restart if it doesn't
Then you find a typo in the theme. Or you want to swap to a different one. Or you bought another theme. So you do the whole loop again.
This is how every existing Android car-launcher platform works. CarWebGuru activates themes from inside the launcher. Car Launcher Pro accepts theme imports via USB or hotspot transfer. iLauncher installs theme packs through their app on the head unit. Even RealDash custom dashboards typically require copying files onto the unit.
Saint Studios doesn't work that way. This post explains what we do instead, why it's better, and how to set it up.
What Cloud Push actually is
Cloud Push is the automatic theme delivery pipeline between Saint Studios and Saint Launcher. When something happens that should result in a theme on your car — you bought a theme from the marketplace, a designer pushed an update, you hit Push from the builder — the server queues a delivery for your specific paired head unit.
Saint Launcher running on the head unit polls the cloud-push API every 30 seconds when it's awake and connected to WiFi. If a delivery is waiting, it downloads the theme over HTTPS, validates the signature, decrypts the per-device envelope, and renders it. The whole process takes about 10–15 seconds end to end.
You don't see the file. You don't manage folders. You don't enter license codes. The launcher handles all of it.
The one-time setup
Setting up Cloud Push is a one-time process. After you do this, every future theme push works automatically.
1. Install Saint Launcher on the head unit
The Saint Launcher APK is free at the download page. Download it, transfer it to the head unit (via USB this one time, or via a sideload service like ApkPure, or by browsing to the URL on the head unit's browser if it has one), and install it. Set it as the default launcher.
Saint Launcher needs WiFi access and storage permission. It does not request location, contacts, microphone, or any other permissions. Permission grants happen during install or first launch.
2. Generate a 6-digit pairing code
On a computer, sign into your Saint Studios account at saintstudios.io/account. Go to the Pair Device section. Click "Generate Code." A 6-digit code appears, valid for 10 minutes.
3. Enter the code on the head unit
Open Saint Launcher on the head unit. The first time it runs, it'll prompt for pairing. Type the 6-digit code from your account page. Hit confirm.
That's it. The launcher generates a Sanctum API token, ties it to your account, and starts polling. As a bonus, pairing automatically grants you a 14-day Pro Builder trial — no credit card.
What happens after pairing
From this point forward:
- If you buy a theme from the marketplace, it appears on the head unit within 30 seconds.
- If you push a theme from the Pro Builder, it appears within seconds.
- If you change which theme is active, the launcher swaps without reinstalling.
- If you leave the car parked without WiFi for hours, the next time it connects, queued pushes pick up automatically.
You never plug in a USB drive again. You never type a license code. You never browse a file folder on the head unit. The whole loop is gone.
What's happening behind the scenes
The reason this works smoothly is that Cloud Push isn't just a file transfer — it's a protected delivery pipeline.
When a marketplace purchase completes, the server creates a CloudPush row tied to your user ID, the theme ID, and your specific head unit's device ID. The .saint file is wrapped in an envelope using HKDF-SHA256 keyed to your purchase license + device ID. This means the wrapped file only works on your specific paired car — even if someone got the file, they couldn't use it.
The launcher polls /api/cloud-push/check every 30 seconds. When a push exists, it downloads, verifies the HMAC signature, unwraps the envelope, decrypts each page (per-page AES-256-GCM with a master key compiled into the launcher APK), and renders the layout. After successful install, it confirms via /api/cloud-push/{id}/confirm and the server cleans up the file.
The buyer doesn't see any of this. From their perspective, they bought a theme on a website and it appeared on their car.
Troubleshooting
"My head unit isn't picking up the theme"
The launcher only polls when it's awake and connected to WiFi. If the head unit is in deep sleep or off, polling stops. Wake the head unit (turn the car on), confirm WiFi is connected, and wait 30 seconds. The poll cycle picks up.
"The theme arrived but didn't render"
This is rare. Usually it means the theme was built for a different resolution than your head unit, or the launcher version is older than the theme requires. Check Settings → Theme Switcher → see if the theme is listed but not active. Apply it manually.
"My pairing expired"
Pairing codes are valid for 10 minutes after generation. If you didn't enter the code in time, generate a new one. Existing pairings stay valid even if you generate new codes — codes are for adding new devices, not re-authenticating existing ones.
"I want to unpair a device"
Account Settings → Paired Devices → Unpair on the device you want to remove. The Sanctum token is revoked immediately, the launcher stops polling, and existing licenses tied to that device continue to work locally on the launcher's cached state but no new pushes will arrive.
What if you want to keep using USB
You can. The marketplace also offers manual download — for buyers who don't want Cloud Push, or for testing themes you've built. From the My Purchases page, click Download to get a wrapped .saint file you can copy to the head unit yourself. The file is still per-buyer per-device protected; the launcher will validate and render it the same way.
Most users won't use this. Once you've experienced "buy theme on website, see it on car within 30 seconds," the USB path feels archaic.
Android 10+ head unit, Saint Launcher installed and set as default, account paired with a 6-digit code, head unit on WiFi when you want pushes to arrive. That's everything. No Pro subscription required for marketplace Cloud Push (Pro is needed for live push from the builder during design).
The bigger picture
Theme installation friction has been the silent killer of every Android car-launcher ecosystem so far. The themes are good. The launchers work. The buyers exist. But every transaction requires the buyer to sit in their car, plug in a USB drive, navigate folders, type codes — and that friction kills repeat purchases.
Cloud Push removes that friction completely. Once it's set up, buying a theme is the same UX as buying a song on Spotify or a sticker pack on Telegram. You buy it, it shows up. That's the bar consumer software is held to in 2026, and it's the bar Saint Studios is trying to meet.
Read the push-without-USB pillar for the deeper architecture, or just create an account and try it for yourself.