Local-first apps on a portable Go + WebAssembly + TypeScript stack.
Open source. Cloud optional.
Self-host anything in the browser. Local-first apps with optional cloud sync, running natively or in the browser.
- 🌐 Local-first Apps run in the browser against an OPFS-backed object store
- ☁️ Optional cloud Fast cross-device sync and backup on Cloudflare
- 🦫 Portable Same Go code runs as WASM in the browser and natively as a CLI
- 🧩 Composable ObjectTypes, plugins, and packfile-based content addressing
Build LLM pipelines with OpenCode and Zod.
- Type-safe Define inputs and outputs with Zod schemas
- Modular Compose modules into complex pipelines
- Checkpoints Resume from any step
- Multi-model Works with 75+ providers through OpenCode
const Greet = signature({
doc: "Generate a greeting.",
inputs: { name: field.string("Name to greet") },
outputs: { greeting: field.string("The greeting") },
});
const result = await pipeline.run(module(Greet), { name: "World" });Get started · OpenCode Discord
Spacewave is built on the App Stack below. Get started building your own application on the stack with the project template!
- ControllerBus - Dynamically configurable communicating control loops
- Bifrost - Cross-platform networking engine with pluggable transports
- goscript - Transpile Go to TypeScript
- ocpipe - Build LLM pipelines with OpenCode and Zod
SkiffOS is a minimal Linux distribution designed to run containers on embedded devices. It uses Buildroot to cross-compile a tiny system image with support for Docker and other container runtimes. SkiffOS enables running any Linux distribution or application in lightweight containers on embedded hardware.
These are lightweight reflection-free code-generation based implementations of Protobuf designed to optimize binary size and performance, especially for WebAssembly (wasm) applications.
- StaRPC - Protobuf 3 RPC services over any stream multiplexer
- protobuf-es-lite - Lightweight TypeScript protobuf implementation
- protobuf-go-lite - Lightweight Go protobuf implementation
- protobuf-project - Template repository for projects using protobufs
Protobuf libraries like protobuf-es and protobuf-go focus on spec compliance and feature-complete implementations. These lite libraries focus on just the base proto2 and proto3 spec including RPCs to simplify the implementation.
Run QuickJS-NG JavaScript engine in Go and TypeScript using the WASI reactor model for re-entrant execution:
- quickjs - QuickJS-NG fork with WASI reactor build target
- go-quickjs-wasi - Go module with embedded QuickJS-NG WASI command binary
- go-quickjs-wasi-reactor - Go module with embedded QuickJS-NG WASI reactor binary
- js-quickjs-wasi-reactor - Run QuickJS-NG within JavaScript with WASI reactor model
Common Go/TypeScript libraries:
- Common - Common project configuration files and Protobuf toolchain.
- Util - Go utilities for easy concurrent programming.
- go-kvfile - File format for storing a compressed key/value store
Lightweight / modified forks of other libraries:
- Cayley - Go Graph database forked from cayleygraph
- FlexLayout - Interactive drag/drop layout manager for React
- fastjson - Reflection-free json parser and validator
- go-brotli-decoder - Pure Go Brotli decompressor
- go-indexeddb - Low-level Go driver for IndexedDB in Wasm
- goprotowrap - Package-at-a-time wrapper for protoc
- json-iterator-lite - Minimal and fast reflection-free json marshal and unmarshal for Go
Please open a GitHub issue with any questions / issues / suggestions.
... or feel free to reach out via Email or Discord!
MIT or Apache-2.0
An Aperture Robotics, LLC project.