// the find
elixir-desktop/desktop
Building Local-First apps for Windows, MacOS, Linux, iOS and Android using Phoenix LiveView & Elixir!
elixir-desktop lets you build cross-platform desktop and mobile apps using Phoenix LiveView as the UI layer, wrapping wxWidgets on desktop and a WebView on mobile. It's for Elixir developers who want to ship a native-feeling local app without leaving the BEAM ecosystem. The UI runs in a local browser/webview talking to an embedded Phoenix server — no Electron, no separate frontend stack.
1. The architectural choice is genuinely clever: Phoenix LiveView over localhost means your UI code is just LiveView, and the BEAM gives you fault-tolerance and hot-reloading for free in a desktop context. 2. True cross-platform scope — Windows/macOS/Linux via wxWidgets, iOS/Android via WebView, all from one codebase. 3. The system tray/menu abstraction (dbus on Linux, wx on desktop) is handled by the library so you don't have to touch platform-specific APIs yourself. 4. Active-enough maintenance for a niche project — last push May 2026, CHANGELOG exists, CI is in place.
1. The packaging story (step 4 on the roadmap) is still incomplete — you can run apps in dev mode across all platforms but creating distributable installers for Windows/macOS/Linux is not done yet, which is a showstopper for actually shipping to end users. 2. wxWidgets as the desktop shell is a dated choice; it works but you get wxWidgets-level visual fidelity, not native. On macOS especially, things will look slightly off. 3. Tiny community — 63 forks, sparse test suite, and the Elixir forum thread is the primary support channel. If you hit a weird wxWidgets/OTP interaction on Windows, you're mostly on your own. 4. Bundling the full BEAM runtime into a desktop app means large install sizes; there's no ahead-of-time compilation path here to slim that down.