+ SERVICE · DESKTOP

Desktop apps

Desktop apps shipped like product.

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.

STACK

Electron · React · TS

PLATFORMS

macOS · Windows · Linux

ENGAGEMENT

Fixed scope · 8–14 wk

TEAM

2 engineers · 1 designer

+ THE BRIEF

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.

+ WHAT YOU GET
  • 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.

+ CAPABILITIES

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 STACK

The toolchain we use, in order.

Opinions earned across 12+ shipped desktop apps. Swap parts only when the engagement requires it.

  • + SHELL
    Electron 30+Viteelectron-builderelectron-vite
  • + UI
    React 18TypeScriptTailwindRadixTanStack
  • + STORAGE
    SQLiteDrizzleIndexedDBCRDT (Yjs)
  • + OPS
    SentryPostHogGitHub ActionsSparkle / Squirrel
+ HOW WE RUN IT

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 register
    WEEK 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 reporting
    WEEK 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 roadmap
    WEEK 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 support
    WEEK 11–14
<1.5s
Median cold start
<200MB
Idle RAM target
12
Desktop apps shipped
99.4%
Update success rate
+ FAQ

Things teams ask before they sign.

Anything else? Email us.

+ START A PROJECT

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.

+ AVERAGE REPLY4 hours · weekdays+ FIRST CALL30 min · with a founder+ NDAOn request