Desktop apps
Native-feel Electron + React applications for macOS, Windows, and Linux. Auto-update, code-signing, deep-OS integrations, and a build pipeline that survives your first hire.
Web teams keep asking for desktop apps and getting Electron wrappers that nobody likes using. We build the version your customers will keep open all day — fast cold-start, native menus, native dialogs, real keyboard shortcuts, code-signed updates that don’t scare IT.
Production-ready Electron + React shell with TypeScript, Vite, and ESM.
Auto-update pipeline (Squirrel · Sparkle) wired into your CI.
Apple notarisation and Windows EV signing on day one.
Native menus, tray, deep links, file associations, IPC boundary.
Crash reporting, telemetry, and a reproducible offline mode.
Handover doc, runbook, and a 30-day support tail.
Inside the engagement.
- 01
App shell
Electron + Vite + React 19 + TypeScript. Strict main/renderer boundary, contextIsolation on, preload-only IPC.
- 02
Native UX
Real menu bars, dialogs, tray icons, dock badges. Platform conventions on each OS — not a web page in a frame.
- 03
Auto-update
Squirrel.Mac, Squirrel.Windows, AppImage. Staged rollouts, channels, and a kill switch you can pull on a Friday.
- 04
Code signing
Apple notarisation, Windows EV cert, hardened runtime, entitlements. We set up the signing chain and document key rotation.
- 05
Offline + sync
SQLite or IndexedDB with a sync layer that handles conflicts, retries, and partial outages without losing user work.
- 06
Performance
Cold-start under 1.5s, idle RAM under 200MB. Profiling, V8 flags, and renderer pooling — measured against a budget.
The toolchain we use, in order.
Opinions earned across 12+ shipped desktop apps. Swap parts only when the engagement requires it.
- + SHELLElectron 30+Viteelectron-builderelectron-vite
- + UIReact 18TypeScriptTailwindRadixTanStack
- + STORAGESQLiteDrizzleIndexedDBCRDT (Yjs)
- + OPSSentryPostHogGitHub ActionsSparkle / Squirrel
From kickoff to handover.
- 01
Discovery & shape
We read your existing web app (if there is one), map the desktop-only surface area, and write a one-page shape doc. You sign off on scope before we open electron-builder.
Shape docScope freezeRisk registerWEEK 1 - 02
Shell + signing
Stand up the Electron shell, wire the IPC boundary, and get a signed + notarised build into TestFlight-style internal distribution by end of week three. Signing first; features second.
Signed installersCI pipelineCrash reportingWEEK 2–3 - 03
Feature build
We build the product against your real backend. Two-week vertical slices, weekly demo, every Friday a new build lands in your team’s update channel.
Weekly buildsFriday demosTracked roadmapWEEK 4–10 - 04
Hardening + handover
Performance budget, accessibility pass, auto-update staged rollout, runbook for IT teams, and the keys to the signing infrastructure. Then a 30-day support tail.
Performance auditIT runbookKey handover30-day supportWEEK 11–14
Mostly because your team already writes React. Electron buys you 80% of native at 20% of the cost, and modern Electron (30+) closes most of the historical perf gap. We'll recommend Tauri if your binary-size or memory budget genuinely requires it — most don't.
Yes — and we'll tell you which parts shouldn't come along. Most web apps need a real preferences window, real keyboard shortcuts, and a different settings model. We design that surface in week one.
We set up the certificates under your account on day one — Apple Developer ID, Windows EV through DigiCert or Sectigo. You hold the keys; we document rotation. No secrets live with us past handover.
No. We use Squirrel.Mac, Squirrel.Windows, and AppImage updates respectively. We wire them to your CI, set up channels (stable / beta / nightly), and make sure rollback works before we ship.
Universal builds for macOS (arm64 + x64) by default. Windows ARM if your customers ask for it — adds about a week.
Fixed-fee, scoped from a one-page brief. Most desktop engagements land between 8 and 14 weeks. We send a fee letter after the discovery call; no hourly billing past that.
Ship the desktop app your customers actually keep open.
Tell us what you’re building. We’ll send back a one-page shape doc and a fee letter within four working days.