Nicheloom visits: 58,189 all-time · 7,637 in the last 7 days

The opportunity tracker for new startups.

Today: 1,008 launches · Niche of the day: specialized calculation tools · See what launched today →

Mystral Native

Run JavaScript games natively with WebGPU (no browser)

Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.

Want to reach these readers? Sponsor an issue.

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/

HN · launched Jan 27, 2026 · 50 upvotes (top 20%) · 0 views

Niche: scripting and execution runtimes · 56 launches, 4 in the last 7 days · Explore this niche →

Category and tags

  • Media & entertainment
  • Dev tools
  • Developer
  • Not AI
  • Commercial product

Visit website ↗ Source listing ↗

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 : 366 launches clear the similarity bar, closest 8 shown.

Attention rank: #105 of 367 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).

Launched 85 days after the earliest competitor.

The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.