geastack/examples

Example Gea apps, used by the simulator and all targets.

TypeScript

102

6 commits

updated Sep 23, 2026

See the code

See what people are saying

SourceMessageScoreDate

Native apps written in TypeScript and CSS

Watch the demo videos here: https://www.youtube.com/watch?v=uCfFTZSG-PQ&list=PL9pDl_Oth4... The code is on GitHub, for example for the first video that renders a 3D cube with CSS the code is at https://github.com/geastack/examples/tree/main/apps/css-3d-c.... It takes only a couple of CLI commands…

0

Sep 22, 2026

Native apps written in TypeScript and CSS

It loosk more like React Native: https://github.com/geastack/examples/tree/main/apps/notes-na... https://www.youtube.com/watch?v=o5RDfAmzE7s

0

Sep 22, 2026

Native apps written in TypeScript and CSS

126

Sep 22, 2026

README

GeaStack Examples

Example applications and tools for GeaStack.

This repo is the app gallery used by the simulator, embedded targets, GeaOS, Apple targets, the VS Code/Cursor extension, and marketing demos. Each example is a small package with a gea manifest in package.json.

What Is Here

PathPurpose
apps/*Gea apps. Most are TSX apps targeting web, ESP32, and/or GeaOS.
apps/*/package.jsonApp manifest, target compatibility, scripts, and launcher metadata.
tools/dialer-browserSmall browser-side helper tool for dialer workflows.
package.jsonWorkspace marker for the examples collection.
docsCatalog and contribution guidance.

Quick Start

Run checks for an individual example:

cd apps/watch
npm install
npm run check
npm run build

Some examples also carry tests, mostly guarding a layout or a device setup that nothing else would catch -- npm test in the app folder runs them.

The web loop is driven from the simulator, which is a separate repository: geastack/simulator. Its scripts read apps out of an app project root, which they take from GEA_APPS_ROOT -- this repo, or your own. There is no default, so set it or pass --app-dir; nothing assumes the two checkouts sit next to each other.

cd /path/to/simulator
GEA_APPS_ROOT=/path/to/examples ./targets/web/dev-web.mjs watch   # development loop
GEA_APPS_ROOT=/path/to/examples ./targets/web/build-web.sh watch  # build for web

./targets/web/dev-web.mjs --app-dir /path/to/examples/apps/watch   # or name one app

Flash a compatible board through the Gea CLI:

npx gea flash watch --board <alias>
npx gea flash watch --board <alias> --monitor

Documentation

App Manifest Basics

Every buildable app should have a package.json with a gea field:

{
  "gea": {
    "id": "watch",
    "name": "Watch",
    "entry": "index.tsx",
    "runtime": "gea",
    "targets": {
      "web": true,
      "esp32": true,
      "geaos": true
    }
  }
}

The manifest is consumed by the simulator, embedded board scripts, GeaOS, Apple targets, and the IDE extension. Keep it accurate.

Maintenance Notes

  • Keep examples small and focused. A good example proves one behavior clearly.
  • Prefer shared framework APIs over target-specific hacks inside examples.
  • Add tests for examples with non-trivial logic, physics, or parsing.
  • Update the catalog docs when adding, renaming, hiding, or changing target compatibility for an app.

License

MIT (see LICENSE). Use it, change it, ship closed-source products on it, no strings attached. The only GeaStack code under a different license is the embedded board support (targets and @geastack/chips, GPL-3.0-only): shipping closed-source firmware through those needs a commercial license. Contact contact@geastack.com for commercial terms, support and hosted builds.

demos
examples
geastack
sample-apps

Contributors

dashersw

6 commits

geastack/examples

Example Gea apps, used by the simulator and all targets.

TypeScript

102

6 commits

updated Sep 23, 2026

See the code

See what people are saying

SourceMessageScoreDate

Native apps written in TypeScript and CSS

Watch the demo videos here: https://www.youtube.com/watch?v=uCfFTZSG-PQ&list=PL9pDl_Oth4... The code is on GitHub, for example for the first video that renders a 3D cube with CSS the code is at https://github.com/geastack/examples/tree/main/apps/css-3d-c.... It takes only a couple of CLI commands…

0

Sep 22, 2026

Native apps written in TypeScript and CSS

It loosk more like React Native: https://github.com/geastack/examples/tree/main/apps/notes-na... https://www.youtube.com/watch?v=o5RDfAmzE7s

0

Sep 22, 2026

Native apps written in TypeScript and CSS

126

Sep 22, 2026

README

GeaStack Examples

Example applications and tools for GeaStack.

This repo is the app gallery used by the simulator, embedded targets, GeaOS, Apple targets, the VS Code/Cursor extension, and marketing demos. Each example is a small package with a gea manifest in package.json.

What Is Here

PathPurpose
apps/*Gea apps. Most are TSX apps targeting web, ESP32, and/or GeaOS.
apps/*/package.jsonApp manifest, target compatibility, scripts, and launcher metadata.
tools/dialer-browserSmall browser-side helper tool for dialer workflows.
package.jsonWorkspace marker for the examples collection.
docsCatalog and contribution guidance.

Quick Start

Run checks for an individual example:

cd apps/watch
npm install
npm run check
npm run build

Some examples also carry tests, mostly guarding a layout or a device setup that nothing else would catch -- npm test in the app folder runs them.

The web loop is driven from the simulator, which is a separate repository: geastack/simulator. Its scripts read apps out of an app project root, which they take from GEA_APPS_ROOT -- this repo, or your own. There is no default, so set it or pass --app-dir; nothing assumes the two checkouts sit next to each other.

cd /path/to/simulator
GEA_APPS_ROOT=/path/to/examples ./targets/web/dev-web.mjs watch   # development loop
GEA_APPS_ROOT=/path/to/examples ./targets/web/build-web.sh watch  # build for web

./targets/web/dev-web.mjs --app-dir /path/to/examples/apps/watch   # or name one app

Flash a compatible board through the Gea CLI:

npx gea flash watch --board <alias>
npx gea flash watch --board <alias> --monitor

Documentation

App Manifest Basics

Every buildable app should have a package.json with a gea field:

{
  "gea": {
    "id": "watch",
    "name": "Watch",
    "entry": "index.tsx",
    "runtime": "gea",
    "targets": {
      "web": true,
      "esp32": true,
      "geaos": true
    }
  }
}

The manifest is consumed by the simulator, embedded board scripts, GeaOS, Apple targets, and the IDE extension. Keep it accurate.

Maintenance Notes

  • Keep examples small and focused. A good example proves one behavior clearly.
  • Prefer shared framework APIs over target-specific hacks inside examples.
  • Add tests for examples with non-trivial logic, physics, or parsing.
  • Update the catalog docs when adding, renaming, hiding, or changing target compatibility for an app.

License

MIT (see LICENSE). Use it, change it, ship closed-source products on it, no strings attached. The only GeaStack code under a different license is the embedded board support (targets and @geastack/chips, GPL-3.0-only): shipping closed-source firmware through those needs a commercial license. Contact contact@geastack.com for commercial terms, support and hosted builds.

demos
examples
geastack
sample-apps

Contributors

dashersw

6 commits

Languages

TypeScript

61.6%

C++

21.2%

JavaScript

9.0%

C

2.8%

Objective-C++

2.6%

CSS

2.3%