Skip to content
highercomvePublic

About

Desktop and mobile apps in Zig, with a web UI or native views: Linux, Windows, macOS, Android, iOS. Local AI, voice, signed updates.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Oriel: desktop apps with Zig and the web

Website: oriel.foreachdeveloper.com License: MIT Zig 0.16 Platforms: Linux, Windows, macOS, Android, iOS Status: experimental

Oriel

Desktop and mobile apps in Zig, with a web UI or native views. One codebase for Linux, Windows, macOS, Android and iOS (iOS is verified in the simulator; device testing is next): your frontend (React, Vite, plain HTML…) in the system webview, embedded in a small binary, with typed JS ↔ Zig calls generated from plain Zig structs. Local AI and voice are built in, updates are signed, and every platform gets its packages. The optional native renderer runs the same frontend without a WebView, or compiled .oriel views with no JavaScript at all. Coming from Electron or Tauri? See how Oriel compares. The website, with the documentation and search, is oriel.foreachdeveloper.com.

  • Small: a release app is a few MB; the build cache is hundreds of MB, not gigabytes.
  • Typed both ways: invoke and listen in TypeScript are generated from your Zig Commands and Events.
  • Secure by default: navigation limits, per-origin command capabilities, a strict CSP.
  • Batteries included, opt-in: tray, updater, SQLite & sqlite-vec, llama.cpp, whisper.cpp, offline text to speech (Kokoro), speaker diarization (voice-detect.cpp), the phone's own model (system AI: Gemini Nano, Apple Foundation Models), camera and photo library, lifecycle events, file watching, dialogs, notifications, global shortcuts, clipboard, packaging (deb, rpm, AppImage), and web wrapping (oriel wrap).
  • Native code when you need it: app extensions in Kotlin, Objective-C, Swift or Zig, called by name from Zig and, where you expose them, from the page.
curl -fsSL https://raw.githubusercontent.com/highercomve/Oriel/main/install.sh | sh     # Linux, macOS
# Windows (PowerShell): irm https://raw.githubusercontent.com/highercomve/Oriel/main/install.ps1 | iex
oriel doctor              # checks Zig 0.16, the platform webview SDK, Node.js
oriel init my-app         # React + Vite (or --template vue|svelte|vanilla)
cd my-app && oriel dev    # hot reload; `oriel build` for the release binary

# Or wrap any website into a standalone desktop app with system tray & AppImage:
oriel wrap https://web.whatsapp.com --user-agent chrome --package

Renderers

Use the system WebView, or build with -Dnative_ui to render HTML, CSS and JavaScript with QuickJS, Oriel’s native DOM, Yoga, and platform drawing. The native renderer is experimental; see its guide and support reference.

App extensions

Call your own native code by name: an app extension is a Kotlin class on Android, an Objective-C or Swift class on iOS, or Zig on the desktop, declared in build.zig. Zig calls it with bytes in and out; the page reaches the methods Zig exposes (oriel.extensions.call). Oriel's own oriel.system_ai is built this way.

Platform hooks react to or take over the platform's own app, window and web view events: oriel.hooks in Zig on Linux, macOS and Windows (each window and web view with its native handle), Kotlin or Java on Android (.android.hooks, OrielAndroidHooks: WebView and Activity lifecycles, native results and permissions, a custom file picker), Objective-C or Swift on iOS and macOS.

See Platform hooks.

Examples

  • Showcase: windows, local AI, dictation, text to speech, SQLite, notifications, and more on desktop and mobile.
  • Breakout: the same canvas game in the WebView and native renderer, with JavaScript or Zig physics.
  • System monitor: live CPU, memory, and process telemetry with direct kernel sampling and native rendering.
  • Smoke test: end-to-end checks for modules and security.
  • Render bench and canvas demo: rendering measurements and 2D drawing.

GhostPen is a desktop AI editor built with Oriel. See apps and examples for screenshots and details.

Documentation

Every feature has one page with the same parts: where it works, a quick start, how it works (with a diagram), examples, and the full reference. Start with the documentation index (the same pages as the website), or go straight to:

Guide Contents
Getting started · Tutorial Install, scaffold, and build a first app
Concepts How an Oriel app is put together: windows, the bridge, commands, modules, the build
Commands and events Typed calls between the page and Zig, and the generated TypeScript
Modules Every module, its build flag and where it works, with a page each
Local AI llama.cpp, whisper.cpp, GPU backends; chat, dictation, text to speech, speakers
Platform hooks · App extensions Your Kotlin, Objective-C, Swift or Zig code inside the platform's events, or called from Zig
Desktop · Android · iOS Platform setup, builds, and behavior
Building · Packaging · Signing · Updates Every build.zig option, packages, signatures, signed updates
CLI Every oriel command
Contributing Repository layout, builds, tests, development rules, and releases

Project status

Oriel is experimental and APIs will change. It targets Linux, Windows, macOS, Android, and iOS; see the desktop, Android and iOS guides for verification details and limitations.

Changelog · Project background · Dependencies

License

MIT: see LICENSE. Contributions are accepted under the same license.

About

Desktop and mobile apps in Zig, with a web UI or native views: Linux, Windows, macOS, Android, iOS. Local AI, voice, signed updates.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages