Introduction
Pushrift is an update delivery service for Electron desktop applications. It lets you ship code changes to every connected user — silently, automatically, and without rebuilding your native binary — through two complementary update mechanisms: live updates and native releases.
Why Pushrift?
Electron ships great apps, but the update story has always been painful. You either wait for users to manually download a new installer, wrestle with Electron's built-in auto-updater (which requires hosting your own server and breaks on unsigned builds), or do a full native rebuild just to push a one-line CSS fix.
Pushrift handles all of that as a managed service:
- No update server to host — Pushrift's CDN is the server.
- Automated code signing — upload your certificate once; every artifact is signed on deploy.
- Staged rollouts and instant rollback — ship to 5% of users first, promote or revert with one click.
- Two update types — pick the right tool for the size of your change.
Core Concepts
Live Updates
A live update is a change to your app's renderer process — the HTML, JavaScript, CSS, and local assets that run in Electron's web view. Because none of these files are compiled into the native binary, they can be replaced at runtime without restarting the host process or asking the user to do anything.
When a live update is available, the Pushrift SDK downloads the new bundle in the background and serves it on the next app launch. From the user's perspective, the app simply opens with the new code.
What qualifies as a live update:
- HTML templates
- JavaScript (including bundled frameworks like React or Vue)
- CSS / stylesheets
- Local JSON config or translation files
- Static images bundled with the renderer
What does NOT qualify:
- Changes to the Electron main process (
main.js) - New or updated native Node.js modules (
.nodefiles) - Electron version upgrades
- Changes to
package.jsonor native dependencies
For anything in that second list, you need a native release.
Native Releases
A native release is a full application binary update — the same kind of installer your users ran the first time they installed your app. Pushrift distributes native releases across Windows, macOS, and Linux with delta compression to minimize download sizes.
Native releases go through the same pipeline as live updates: you run pushrift deploy, Pushrift signs the artifacts, uploads to the CDN, and connected clients receive the update automatically on next launch.
Release Channels
Channels let you ship to different audiences without separate apps. Every app starts with a stable channel. You can create additional channels — beta, nightly, internal — and target specific user groups before a wider rollout.
Staged Rollouts & Rollback
With a staged rollout, you release to a percentage of your user base first. If metrics look good, you promote to 100%. If something is wrong, you roll back in one click — every client reverts to the last known-good release within minutes.
How It Fits Together
Your Electron app
└── @pushrift/sdk (main process)
├── Checks for live updates on launch
├── Downloads + applies update in background
└── Returns active file path to load
Pushrift dashboard / CLI
└── pushrift deploy
├── Bundles renderer assets
├── Signs artifacts
└── Uploads to CDN → notifies connected clients
The SDK and the CLI are the only two integration points you need. The rest — storage, signing, CDN delivery, analytics — is managed by Pushrift.