Electron ยท Case Study

Building ORVEXIA Browser: an AI-native, privacy-first browser

1 min read1680 views0 likes
E
Ernys Napoles Favier
Founder of ORVEXIA
๐• Share in WhatsApp
Building ORVEXIA Browser: an AI-native, privacy-first browser

ORVEXIA Browser isn't "another browser with an AI chat on the side". The idea was different: an AI-native and privacy-first desktop browser, where AI and security are part of the core.

One project, three pieces

  • Backend: Electron main process with 17 services (AI, Browser, Vault, Shield, Memory), SQLite with WAL and 104 IPC channels.
  • Frontend: React 18 UI with 16 modules and 30+ components, with Zustand stores.
  • Design System 2.0: tokens and components to keep everything coherent.

The IPC bridge: the main blocker

The UI had been written against a different contract than the real backend. Instead of rewriting, I built an adapter that reconciles both contracts at runtime:

// buildRealAdapter() reconciles UI (Phase 2) with the real preload (Phase 3)
export function buildRealAdapter(api: PreloadApi): UiContract {
  return {
    brain: { getWorkspaces: () => api.workspace.getAll() },
    shield: { checkUrl: (u) => api.shield.scanUrl(u) },
    ai: { streamMessage: (m) => streamViaEvents(api.ai, m) }, // event -> async iterable
  }
}
Note: in Electron it uses the real backend; in web mode it uses a mock. The UI works unchanged on both. Gaps are marked with TODO(backend) and degrade safely.

Privacy as a foundation

It integrates an AES-256-GCM Vault, a security Shield and a Memory OS that gives the AI context with permission. The AI is multi-provider, to avoid being tied to a single model.

Status

It compiles end-to-end with tsc at zero errors. Lesson: integrating well is harder (and more valuable) than writing new features.

// related articles
// newsletter

Did you like it? Get the next article from the ORVEXIA ecosystem.

โœ“ Thanks!
// comments
๐Ÿ’ฌ Comments are coming in a future phase (ready to connect Supabase / a CMS).
For now, write to me: orvexiainnovativepro@yahoo.com

โ† Back to the blog