The Solid Runtime

One codebase.Every screen.Every pixel, yours.

SolidRT lets you build cross-platform native apps with familiar web technologies. Built from the ground up for developers and AI agents to work together.

  • Rust engine, GPU rendering
  • SolidJS 2.0 + TypeScript
  • Linux · Windows · macOS · Android
Get started → $bun create solidrt my-app

A whole app

import { render, createSignal } from "@solidrt/core"

function App() {
  let [count, setCount] = createSignal(0)
  return (
    <window>
      <view padding={12} onPointerDown={() => setCount(count() + 1)}>
        <text>Clicked {count()} times</text>
      </view>
    </window>
  )
}

render(() => <App />)

This is all there is to it: a fully working application, on desktop and mobile.

What you get

  • Write it once, run it on every screen. The same source runs on Linux, Windows, macOS, and Android, and looks the same on each, because SolidRT draws every pixel itself.
  • You already know how. If you have built a web app, you can build this one: JSX, components, and signals from SolidJS, and flexbox and grid with the CSS names you expect.
  • Components and routing to start with. Themable widgets (buttons, inputs, sliders, dialogs, menus) and a router that turns screens into routes. Switch the theme and the running UI recolors without remounting.
  • A spatial core for fast 2D and 3D. Thousands of animated sprites in one draw call, 3D scenes, and custom shaders, all in the same tree as your UI. A dashboard and a game are the same kind of project.
  • Reach the device and the network. Camera, microphone, audio, video, files, HTTP, SQLite, and peer-to-peer have one API on desktop and phone, built into the runtime, with no plugin per platform.
  • Save once, see it everywhere. Save a file and your desktop window and your phone reload together, with no rebuild and no cable. See the dev loop.
  • Your agent sees what it built. A coding agent reads the running app's logs, layout, and screenshots on each connected device, so it checks its own work on every screen instead of guessing.
  • Tests that never flake. App tests run without a window and count frames instead of wall-clock time, so every run gives the same result.
  • One app file, one binary per platform. The app is a single .solapp, the same file on every platform. sol pack combines it with the runtime into a standalone executable, or an installable APK with no Android SDK needed.

About

SolidRT is made by Antoine van Wel at Well-Aware Technologies and developed in the open on GitHub. Why it exists is written up here.

SolidRT is free and open source. If it is useful to you or your company, consider sponsoring the project: it helps keep development going.

Get started

Your first window,in one minute.

All you need is Bun. One command scaffolds the project, develops it live on every device, and packs it into a standalone app, an Android APK included. No Android Studio, no SDK, no other tooling to install: the CLI takes care of the rest.

And you never have to leave. When an app needs more, add Rust to your toolchain and build a runtime of your own: a customized, optimized executable around the same project and the same code. Nothing to eject from, because it is an addition, not a rewrite.

Get started → $bun create solidrt my-app