MCU
TS components compile to native code on microcontrollers.
GEA is a stack for writing one TS codebase that compiles to real native binaries on MCUs, embedded Linux, macOS, and iOS.
See examplesWritten in TypeScript, JSX, and real CSS — compiled to completely native code. The same stack runs on ESP32, embedded Linux, iOS, and macOS.
Work with us
ESP32 · 3D CSS cube · 60 fps
TS components compile to native code on microcontrollers.
Native binaries with a SELinux-aware lifecycle.
The same TS components, compiled to a native iOS binary.
Cocoa bindings, real native binary.
Use the whole stack, or just the compiler. Each part has one job.
Compiles TS to native code for every target.
The system foundation for serious embedded deployments.
The component + store model, reactivity, and host APIs.
How many times faster the same TypeScript runs once geatsc compiles it to native code, versus running it on Node.js.
Best of 5 runs on the same TypeScript source — byte-identical output to Node. Within-row ratios; absolute times measured under machine load, so treat as directional.
| min observed | median @ loadavg ~50 | runs | |
|---|---|---|---|
| cpp | 3.7 ms | 28.4 ms | 450 |
| node | 21.8 ms | 46.6 ms | 65 |
How fast each one gets from launching the process to running your code, measured on a busy machine. The native binary geatsc produces is ready in a few milliseconds; Node.js spends most of its startup booting V8 first.
You already know CSS. Now it runs native, on the device.
Read the styling storyDeclarative TSX and real CSS when you want layout. A browser-shaped Canvas 2D context when you want the pixels.
Explore the canvasGEA collapses an embedded toolchain, a desktop stack, and a mobile stack into one TS workflow your team already knows. Better ergonomics, native performance, one codebase to staff and maintain.
Your web engineers can ship hardware on day one. No second team, no second language, no per-target rewrite.
Why your team should use GEAgeaOS — from watch faces to thermostats to games, one TS codebase across every board.
Counter
Thermostat
Weather
Sky Hop
| Framework | Targets | You write | Output | License |
|---|---|---|---|---|
| GEA | MCU · Linux · macOS · iOS | TS | Native binary | GPL / Commercial |
| Slint | MCU · Linux · desktop · mobile · web | .slint DSL5 | Native | GPL / Royalty-free / Commercial |
| Qt | Desktop · mobile · embedded3 · web | C++ / QML | Native | Commercial / LGPL |
| LVGL | MCU · embedded | C | Native · C lib | MIT |
| LVGL Pro | MCU · embedded | XML / C | Native · C lib | Commercial |
| Moddable | MCU only | JavaScript | Bytecode VM (XS) | LGPL/GPL / Commercial2 |
| Flutter | Mobile · desktop · web4 | Dart | Native | BSD |
| React Native | Mobile1 | JS / TS | JSI / bridgeless | MIT |
GEA compiles your TypeScript and CSS to native code ahead of time — no interpreter or VM on the device.
See the benchmarksOn the web, GEA is served by @geajs/core and its family — which has its own home.
We help product teams design and ship native UIs on the surfaces GEA targets — from microcontrollers to embedded Linux panels and macOS apps. If your team needs engineering help, a reference design, or a partnership with us, this is the door.
Chip vendors and board manufacturers: we're keen to land GEA cleanly on your silicon. Drivers, peripherals, packaging.
Get in touch