Open source · Compiled to WebAssembly
The open-source desktop apps you use,
running in your browser.
FreeCAD, QGIS, OpenMW and more, recompiled to run in a browser tab. Not a rewrite: a rewrite throws away decades of behavior you already trust. Free, with no install.
The engine
Open-source desktop software, recompiled for the web
Not a rewrite. Not an emulator. The actual C++ engine, cross-compiled to WebAssembly, running natively in the browser tab. Same code, same files, same workflows: a new delivery channel.
Open-source desktop apps, in the browser
Heavyweight open-source tools (CAD, GIS, 3D creation, game engines), recompiled to WebAssembly so they run 1:1 in a browser tab. The same source you trust, ported to a tab.
The work happens on your machine
No server rendering a screen back to you. No VDI. No emulator. Your CPU runs the actual C++ engine, just compiled to a different target. The browser is the new operating system for these tools.
Every port makes the next one faster
A growing library of prebuilt native dependencies (Qt, Python, OpenCASCADE, GDAL, FFmpeg, Boost) means each application takes less work to bring across. More open-source projects, more browsers, more users.
Live in your browser
Apps we maintain, ready to run
The three that are playable right now. The rest of the portfolio is on the apps page.
OpenMW
The open-source Morrowind engine on WebGL2 (with a WebGPU path in progress). Real-time shadows, water reflections, persistent saves, gamepad support, and a loader for your own game data. Steady 60fps, including a walk through Balmora.
Play it now →FreeCAD
The full Qt GUI, the OpenCASCADE geometry kernel and an embedded Python 3.13 stack, all compiled to WebAssembly.
Run it now →Jagged Alliance 2
The Stracciatella engine with the full campaign, tactical combat, Web Audio and UI, running natively in the browser.
Play it now →Open source, by construction
Open source stays open source
Open source stays open source
Because the apps run client-side in your browser, we keep the WebAssembly repositories public and the build pipelines open. Nothing about wrapping them in a web platform changes their GPL/AGPL status. The code is still the code, you can still read it, build it, fork it.
No vendor lock-in
Your files are standard formats: FreeCAD .FCStd, QGIS .qgz, Blender .blend, OpenMW / Morrowind data, JA2 SLF tables. Open them in the desktop app tomorrow if you want. The browser is a delivery channel, not a cage.
Custom work · by request
We also take a few custom ports
We take a small number of paid custom engagements each year. Custom work supports the team. It does not drive the open-source roadmap.
Custom WASM port
We recompile your proprietary C/C++/Qt/legacy application to WebAssembly and add what the desktop version never had: cloud storage, single sign-on, monitoring, real-time collaboration.
Learn more →Maintenance & hosting
Ongoing retainer for dependency upkeep, Emscripten toolchain upgrades, security patching and managed hosting. The port never drifts.
Learn more →Support the engine
Help us port the next one
Donations keep the dependency library patched, the servers up, and the next port coming. A one-time coffee or a monthly pledge: both matter.
FAQ
The questions we get first
Is the work really free?
Yes. The WASM ports we maintain are released under their upstream open-source licenses and available to run, in your browser, at no cost. We do not charge for them, and we do not put them behind a paywall.
What is the goal?
Bring heavyweight open-source desktop apps to the browser via WebAssembly, so they reach more people. Every port we ship makes the next one faster: the dependency library (Qt, Python, OpenCASCADE, GDAL, FFmpeg, Boost) compounds. That is the work.
Can I hire you to port my app?
Sometimes. We take a small number of custom engagements each year. Tell us about the app on the contact page and we will tell you honestly whether there is a fit this year.
Why WebAssembly and not just a web rewrite?
Because the behavior your users trust took decades to get right. Recompiling to WebAssembly keeps the actual C++ engine, the actual data formats, the actual workflows, and adds what the desktop could never do, like zero-install access on Chromebooks and tablets.
What about licensing?
Client-side WebAssembly execution keeps the open-source apps fully GPL/AGPL-compliant. The code still runs locally in the user's browser. The ports stay open source, full stop.
Where can I see the source?
The WASM ports live at github.com/Virtastic, one repository per application. The dependency library patches and build scripts are public too.
Open one. It is free, and it runs now.
Nothing to install and nothing to pay for. If the work is useful to you, a donation or a GitHub star keeps the next port coming.