Electron desktop apps · Real-time video, audio & AI
We build the desktop apps a browser tab can’t: live video, sub-30ms audio, screen share, and on-the-fly AI — on Windows and macOS. Electron gives us the same WebRTC engine Chrome runs, plus the native system access (cameras, system audio, FFmpeg, virtual cameras) only a real desktop app gets. First working build in 8–10 weeks, from $10K.
Who we build for
The build decision
There are four ways to put real-time video or AI on a desktop. A browser tab or PWA ships fast but can’t reach system audio, virtual cameras, or background capture, and gets killed when the tab closes. An off-the-shelf SDK app (a white-label video tool) is quick but locks you into one vendor’s features and brand. A native build (Qt/C++, Swift) gives full control but doubles the work — one codebase per OS — and is slow to change. A custom Electron build ships one codebase to Windows and macOS, runs Chrome’s WebRTC engine for real-time media, and reaches the native APIs a browser can’t — which is why most real-time video/AI desktop apps are built on it. Here’s the honest trade-off.
No single answer is right for everyone. We start most engagements by mapping your real-time requirement, your target OSes, and whether the AI runs on-device or in the cloud — then recommend the lightest thing that works. Sometimes the honest answer is “ship it as a web app and call us when you need the desktop power.” Building a non-realtime business desktop app? Start with our general Electron desktop development page. New to the trade-off? See Electron for business desktop apps.
The architecture
An Electron app is a Chromium renderer and a Node.js main process in one binary. Real-time media runs in the renderer on the same WebRTC engine as Chrome; the heavy and the privileged work — encoding, capture, AI — runs in the main process and native modules. Here’s the path from camera to screen, and where the engineering actually is.
Figure 1: The real-time Electron pipeline — capture in the Chromium renderer, transport over WebRTC (P2P or an SFU), native work in the Node.js main process, AI in the loop, then signed and auto-updated. The contextBridge/IPC boundary sits between steps 2 and 3.
The renderer captures camera, mic, and screen through Chromium’s WebRTC APIs — the same ones Chrome ships — so capture, echo cancellation, and screen share work without a plugin.
getUserMedia / getDisplayMediaMedia goes peer-to-peer for 1:1 or through a selective forwarding unit (mediasoup 3.20, LiveKit, or Pion) for group calls and broadcast, with simulcast and SVC so each viewer gets a layer their connection can hold.
RTCPeerConnection + SFURecording, transcoding, virtual-camera output, and system-audio capture run in the Node.js main process and native modules (FFmpeg, Chromium Embedded Framework, platform camera APIs), reached over a locked-down contextBridge IPC boundary — the work a browser tab simply can’t do.
main process + IPCLive transcription, translation, and voice agents run through the OpenAI Realtime API (GPT-Realtime-2, GPT-Realtime-Translate) or LiveKit Agents; private workloads run on-device with Whisper or a local model. Insertable streams let us run effects and analysis on frames in flight.
streaming or on-deviceWe package with electron-builder, sign for Windows and macOS, run Apple notarization, and wire silent auto-update (electron-updater with Squirrel.Mac/Squirrel.Windows, or Sparkle) so users get fixes without reinstalling.
sign, notarize, auto-updateA tuned real-time Electron app holds sub-300ms first frame, real-time effects with no re-encoding, and sub-30ms audio where the use case demands it — numbers a browser tab can’t promise. The hard part isn’t the demo call; it’s keeping latency, CPU, and battery in budget across every machine your users run. For the server side, see choosing an SFU — mediasoup vs LiveKit vs Janus vs Pion.
Why now
The desktop came back. The apps people keep open all day — for trading, streaming, creating, and now AI — are native again, and the bar for real-time is higher than the browser can meet. Three things converged.
Electron 39 ships Chromium 142 and Node.js 22.20 — the current WebRTC stack, insertable streams, and modern codecs, in a desktop binary. The same engine that runs video in Chrome now runs it in an app that can also reach the camera firmware and the system mixer.
OpenAI’s Realtime API has been generally available since 2025, with GPT-Realtime-2 for voice agents and GPT-Realtime-Translate handling 70+ languages live. mediasoup 3.20 (in production at Discord) and LiveKit Agents make multi-party real-time media plus an AI participant a normal architecture.
The apps shipping local-model and live-agent features in 2026 are desktop apps, because that’s where the system access, the screen context, and the persistent session are. A browser tab can’t watch your screen and talk to you all day; a desktop app can.
Being early to this is the advantage. The teams that ship correct real-time video and AI on the desktop in 2026 own use cases the browser can’t touch — sub-30ms collaboration, screen-aware copilots, broadcast-grade capture, private on-device analysis — before the category fills in. We’ve spent twenty years on the hard half: the media pipelines, the latency budgets, the codecs, the cross-platform packaging. The AI participant is new; making real-time media run on real machines is what we’ve always done.
What we build
Multi-party video and screen share with recording, built on a real SFU (mediasoup, LiveKit) inside a desktop app — for workflows that need the whole screen, not a tab. Built the way we built scalable real-time video for the web, with desktop power added.
Audio collaboration where every millisecond counts. We built TYXIT — an Electron desktop app that lets musicians jam together with under 30ms of latency, used live to play between the stages of the Montreux Jazz Festival and Jazz à Vienne.
Live, on-the-fly effects that output to OBS, Zoom, and Discord as a virtual camera. We worked on and fixed StreamFog — Electron plus Chromium Embedded Framework and a Windows Virtual Camera, with 300+ AR lenses applied in real time with no re-encoding, the go-to successor to Snap Camera.
Screen-aware, voice-driven assistants that see what the user sees and respond live, through the OpenAI Realtime API or LiveKit Agents, with on-device options for private work. See our real-time AI video agents pillar.
Always-open apps that stream market data, alerts, and analytics with no refresh — the kind of latency-sensitive desktop traders keep open all day, with the native access a browser can’t give.
Desktop apps that mix real-time media with AI. We built Franchise Record Pool, Funkmaster Flex’s DJ platform — an Electron desktop app over a 720K+ licensed-track library with AI voice-command playlists (Whisper + OpenAI) and music recognition.
When custom wins
A white-label SDK or a browser app is the right call when its feature set fits and you’re happy renting the experience. Custom wins when real-time performance is the product, when you need native access a tab can’t reach, or when the app is your brand and you intend to own and extend it. It wins at any size — a desktop tool for a hundred power users or a streaming app for a million.
Figure 2: Build vs Buy — real-time & AI fit × control and ownership. Custom wins the top-right at any audience size; no scale threshold.
How we work
An idea and a target — Windows, macOS, or both — and no app yet. We choose the media stack and AI approach, build the Electron app around them, and ship a working real-time build.
Add real-time or AIYou have a desktop or web app and need live video, audio, or an AI feature in it. We add the real-time layer and the native access without a rewrite.
TakeoversYou inherited a half-built Electron app, or a real-time feature that drops frames, leaks memory, or won’t sign and notarize. We stabilize the media pipeline, fix the packaging, and extend it.
Pricing
Ballpark starting figures, not quotes. Final scope depends on platforms (Windows, macOS, or both), how many people are in the call, whether AI runs on-device or streaming, and your latency target — run the calculator for an instant estimate.
Two ways to work with us. Most clients start on time and materials. If you need one number signed off, we fix it once the scope is documented.
How most of our clients work
When you need one number signed off
Free for qualified projects
Before any contract, we’ll give you something useful. Pick the one that fits where you are.
Competitor analysis, core feature definition, monetization modeling, and a full launch blueprint — delivered within a week. Written by engineers who'll build what they plan.
An independent review of your system's technology choices, structural components, and workload fit — with a plain verdict on what's working, what's a liability, and exactly what to change to reach your goal. Delivered within a week.
A full audit of your code with every issue documented, evidenced, and located — exact file, exact line. Plus a system architecture review and a prioritized fix roadmap. Not a consultant's opinion. A case file. Delivered within a week.
A specialist review of your video or streaming product covering latency, media server architecture, WebRTC, playback reliability, real-time chat, and scalability. Every finding is specific, located, and fixable. Delivered within a week.
Why Fora Soft
Twenty years of apps where latency, capture, and codecs are the whole game — the exact constraints a real-time desktop app lives inside. Not a generalist agency adding video; the team that does video.
Chromium WebRTC, mediasoup 3.20, LiveKit, Pion, OpenAI Realtime, Whisper, FFmpeg, Chromium Embedded Framework, virtual cameras, electron-builder + notarization — in real apps. TYXIT (<30ms audio), StreamFog (300+ real-time lenses), Franchise Record Pool (720K+ tracks, AI playlists).
Code signing, Apple notarization, silent auto-update, memory and CPU budgets across every machine your users run. The work that sinks first-time Electron teams is the work we do by default.
Senior engineers, no offshore handoffs, 250+ products since 2005, and a 100% job-success score on Upwork. We finish, sign, notarize, and hand over clean — source, build pipeline, and keys.
FAQ
Can Electron really handle real-time video?
Yes. Electron embeds the same Chromium engine as Chrome, so getUserMedia, RTCPeerConnection, screen capture, and insertable streams work natively. Electron 39 ships Chromium 142, the current WebRTC stack. For group calls we add a selective forwarding unit (mediasoup 3.20, LiveKit, or Pion), the same approach used in production video apps.
Why Electron instead of a web app?
A browser tab can't reach system audio, output a virtual camera, capture in the background, or stay open as a real app — and it dies when the tab closes. Electron runs the same WebRTC engine plus native system access through the Node.js main process. If you don't need that access, we'll tell you to ship a web app instead.
Why Electron instead of native (Qt/C++ or Swift)?
Native gives full control but means a separate codebase per OS and slow iteration. Electron ships one codebase to Windows and macOS, runs Chrome's media engine, and still reaches native APIs through native modules. For real-time media apps that need to ship and change fast across platforms, it's usually the better trade.
How low can the latency go?
It depends on the path. Peer-to-peer WebRTC video holds sub-300ms glass-to-glass on a good network; we built TYXIT to keep musician audio under 30ms. We budget latency per use case and pick the transport (P2P, SFU, or a custom path) to hit it.
Can you add a real-time AI agent to a desktop app?
Yes. We integrate the OpenAI Realtime API (GPT-Realtime-2 for voice agents, GPT-Realtime-Translate for live translation) or LiveKit Agents for screen-aware, voice-driven assistants — and run private workloads on-device with Whisper or a local model.
Windows, macOS, or both?
Either or both, from one codebase. We handle the platform differences — code signing on each, Apple notarization on macOS, the right auto-update channel (Squirrel.Mac/Squirrel.Windows or Sparkle) — so it installs and updates cleanly everywhere.
Can you integrate a specific SDK — Agora, Daily, Twilio, LiveKit?
Yes. If you're committed to a vendor SDK we'll build cleanly on it. We'll also tell you honestly when a self-hosted SFU (mediasoup, Pion) costs less and gives more control at your volume, so you can choose with the numbers in front of you.
Can you take over a half-built or broken Electron app?
Yes — it's a common start. We stabilize the media pipeline, fix the memory and CPU budgets, repair signing and notarization, and extend the app. You don't have to start over.
How much does a real-time Electron app cost?
A single real-time feature on one OS starts at $10K; a cross-platform build with group video and auto-update around $20K; a multi-party app with a real-time AI agent, native modules, and signing/notarization from $40K — depending on platforms, party size, and AI path.
How long does it take?
A single real-time feature ships in 8–10 weeks; a cross-platform build in 12–14; a multi-party app with an AI agent in 14–18. You see a working build on a real machine early and iterate from there.
Keep reading
Electron desktop app development for business in 2026
When the desktop is the right call →LearnChoosing an SFU: mediasoup vs LiveKit vs Janus vs Pion
The server side of real-time video →ServiceGeneral Electron desktop development
Non-realtime business apps →LearnThe video delivery course
Ingest to player, end to end →Tell us the real-time feature, your target OSes, and whether the AI runs on-device or in the cloud. We’ll come back with a stack recommendation and a realistic plan — usually within a day.