Mystral Native
Run JavaScript games natively with WebGPU (no browser)
Details
- External ID
- 46784221
- Source
- HN
- Company
- —
- Product
- Mystral Native
- Website domain
- github.com
- Launched
- Jan. 27, 2026
- Cohort
- —
- Upvotes
- 50
- Upvotes percentile
- 0.7957839262187089
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:25 p.m.
- Updated at
- Sept. 7, 2026, 9:25 p.m.
Description
Hi HN, I've been building Mystral Native — a lightweight native runtime that lets you write games in JavaScript/TypeScript using standard Web APIs (WebGPU, Canvas 2D, Web Audio, fetch) and run them as standalone desktop apps. Think "Electron for games" but without Chromium. Or a JS runtime like Node, Deno, or Bun but optimized for WebGPU (and bundling a window / event system using SDL3).Why: I originally started by starting a new game engine in WebGPU, and I loved the iteration loop of writing Typescript & instantly seeing the changes in the browser with hot reloading. After getting something working and shipping a demo, I realized that shipping a whole browser doesn't really work if I also want the same codebase to work on mobile. Sure, I could use a webview, but that's not always a good or consistent experience for users - there are nuances with Safari on iOS supporting WebGPU, but not the same features that Chrome does on desktop. What I really wanted was a WebGPU runtime that is consistent & works on any platform. I was inspired by deno's --unsafe-webgpu flag, but I realized that deno probably wouldn't be a good fit long term because it doesn't support iOS or Android & doesn't bundle a window / event system (they have "bring your own window", but that means writing a lot of custom code for events, dealing with windowing, not to mention more specific things like implementing a WebAudio shim, etc.). So that got me down the path of building a native runtime specifically for games & that's Mystral Native.So now with Mystral Native, I can have the same developer experience (write JS, use shaders in WGSL, call requestAnimationFrame) but get a real native binary I can ship to players on any platform without requiring a webview or a browser. No 200MB Chromium runtime, no CEF overhead, just the game code and a ~25MB runtime.What it does: - Full WebGPU via Dawn (Chrome's implementation) or wgpu-native (Rust) - Native window & events via SDL3 - Canvas 2D support (Skia), Web Audio (SDL3), fetch (file/http/https) - V8 for JS (same engine as Chrome/Node), also supports QuickJS and JSC - ES modules, TypeScript via SWC - Compile to single binary (think "pkg"): `mystral compile game.js --include assets -o my-game` - macOS .app bundles with code signing, Linux/Windows standalone executables - Embedding API for iOS and Android (JSC/QuickJS + wgpu-native)It's early alpha — the core rendering path works well & I've tested on Mac, Linux (Ubuntu 24.04), and Windows 11, and some custom builds for iOS & Android to validate that they can work, but there's plenty to improve. Would love to get some feedback and see where it can go!MIT licensed.Repo: https://github.com/mystralengine/mystralnativeDocs: https://mystralengine.github.io/mystralnative/
Enrichment
- Theme
- Vertical
- Horizontal
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- native javascript game runtime with webgpu
- Manually corrected
- False
Could you build this?
No Building a custom native runtime for JavaScript that exposes WebGPU, Web Audio, and Canvas directly without a browser engine requires extensive low-level graphics and systems programming.
What it would actually take: The system requires embedding a JavaScript engine (like V8 or QuickJS/JSC) and binding Web standard APIs directly to native libraries such as wgpu (WebGPU), Skia (Canvas 2D), and miniaudio (Web Audio) via C/C++ or Rust FFI. The hardest parts are maintaining spec-compliant event loops, windowing integration, memory lifecycle synchronization across the JS-native boundary, and cross-platform shader translation. This requires expert-level systems, graphics, and runtime engine software engineering.
Discussion
18 comments analyzed.
Competitors mentioned: Ejecta, Tauri, Electron, Three.js, Pixi.js
Concerns raised: WASM may only work with V8, not QuickJS builds, Alpha runtime may have bugs, Dawn builds are slow (1-2 hours on CI), Phaser currently uses WebGL renderer, not WebGPU, Apple may disallow JIT code on iOS
Feature requests: Hardware ray tracing support before WebGPU has it, Support for Three.js and Pixi 8 in v1.0.0, ANGLE and WebGL bindings in v2.0.0, Phaser.js compatibility, Companion builder for iOS WKWebView bundling setup
Competitors
Other products that read as similar to this one — 179 launches clear the similarity bar, closest 8 shown.
Attention rank: #45 of 180 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 85 days after the earliest competitor.
- Zephyr3D · hn · 2025-11-26 · 9 upvotes · similarity 0.51
- A WebGPU-based browser engine with "Blam "-style physics · hn · 2026-01-15 · 5 upvotes · similarity 0.48
- I ported Manim to TypeScript (run 3b1B math animations in the browser) · hn · 2026-02-25 · 140 upvotes · similarity 0.47
- Write native binary web apps with TypeScript and Express · hn · 2026-02-16 · 14 upvotes · similarity 0.45
- Ironwall, a safety-first native programming language and compiler · hn · 2026-06-06 · 16 upvotes · similarity 0.45
- Attar · hn · 2026-09-18 · 7 upvotes · similarity 0.44
- Attar · ph · 2026-09-18 · 3 upvotes · similarity 0.44
- Ant · hn · 2026-05-09 · 8 upvotes · similarity 0.44
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.