AI-Native, Metadata-Driven Application Framework
Build any application — ERP, CRM, HRM, inventory, project management, or custom business logic — from JSON definitions.
Work in Progress — Actively developed. Not production-ready yet.
BitCode is a modular, metadata-driven framework that reads JSON definitions and produces running applications. Define your data models, APIs, business processes, views, and workflows in JSON — the Go engine interprets them at runtime.
It is not just an ERP. BitCode is a general-purpose application framework that happens to ship with ERP-grade modules. Use it for:
- ERP — Accounting, inventory, procurement, manufacturing
- CRM — Contacts, deals, pipeline, activities
- HRM — Employees, attendance, payroll, recruitment
- Project Management — Tasks, sprints, timesheets
- Custom Business Apps — Any domain-specific workflow
Inspired by Odoo, Frappe, and NocoBase. Designed for extensibility from day one.
JSON is the source code. Go is the runtime. Modules are the packaging.
JSON Metadata (models, APIs, views, workflows, permissions)
|
BitCode Engine (Go)
|-- Compiler JSON -> validated AST
|-- Runtime Process executor, DAG engine, agents, workflow
|-- go-json Embedded JSON/JSONC programming language
|-- Security RBAC, record rules, field-level encryption, audit log
`-- Server REST, GraphQL, WebSocket, SSR templates
|
UI Schema Framework-neutral schema types + reactive engine
|
Renderers React/Vue/React Native, Flutter, Web Components
|
Tauri Native Shell (desktop + mobile, offline-first)
Everything below runs in the browser. No install, no signup.
| Demo | What you can do |
|---|---|
| ui — component showcase | Browse the cross-framework component library, rendered live from Mitosis sources |
| ui-flutter — Flutter showcase | Same schema and tokens rendered by native Flutter widgets |
| ui-schema — reactive engine | Edit a form and watch declared reactions recompute |
| go-json — language playground | Write and run JSON programs; the engine is compiled to WebAssembly |
| expr-js — expression playground | Evaluate expr-lang expressions with the TypeScript port |
| go-json-runtimes — script bridge | Run a go-json program that calls into JavaScript through a script: import |
| ui-web-components — gallery (deprecated) | The original Stencil component gallery, kept for reference while users migrate |
| Repo | Description |
|---|---|
| bitcode | Full monorepo — Go engine, UI packages, Tauri shell. Source of truth. |
The UI layer is split by responsibility: one source of truth for schema, and one renderer per platform.
| Repo | Description | Demo |
|---|---|---|
| ui-schema | Canonical UI schema types plus the headless, framework-neutral reactive engine. No DOM dependency. | demo |
| ui | Cross-framework components built on Mitosis, compiled to React, Vue, React Native, and Web Components. | demo |
| ui-flutter | Contract-driven Flutter widgets and schema renderer, ported from the same schema and tokens. | demo |
| ui-tauri | Tauri 2.0 native shell: desktop (Windows/macOS/Linux) and mobile (iOS/Android), offline SQLite, native bridge. | (native app — no web demo) |
| ui-web-components | Deprecated. The original Stencil-based Web Components set. Kept for reference; migrate to ui, ui-schema, and ui-flutter. |
demo |
ui-web-componentsis deprecated. The Stencil-based component set has been superseded by ui, ui-schema, and ui-flutter. Existing users should migrate.
| Repo | Description | Demo |
|---|---|---|
| go-json | Standalone JSON/JSONC programming language engine. 20 step types, 200+ built-in functions, structs, lambdas, I/O modules, built-in web server. | playground |
| go-json-runtimes | Script runtime engines for go-json: goja, QuickJS, Yaegi, WASM, Node.js, Python. Opt-in, zero heavy pulls. | playground |
| expr-js | TypeScript port of expr-lang/expr v1.17.8 — the expression engine behind go-json and the UI layer. | playground |
| Concern | Approach |
|---|---|
| Data | Models defined in JSON, auto-migrated. UUID primary keys throughout. |
| Logic | Processes (DAG + linear), workflows (state machines), and go-json scripts |
| API | REST, GraphQL, and WebSocket generated from the same model definitions |
| UI | One schema, many renderers — React/Vue/RN, Flutter, Web Components |
| Security | Group-based permissions, record rules, field-level encryption, audit log |
| Offline | Tauri shell with local SQLite, outbox, and sync with conflict resolution |
| Native | Desktop + mobile via Tauri, barcode scanning, biometric auth, push notifications |
| Multi-DB | SQLite, PostgreSQL, MySQL, MongoDB |
| Layer | Technology |
|---|---|
| Runtime | Go 1.24+, Fiber v2, GORM |
| Scripting | go-json, expr-lang, Python, JavaScript, Go (via runtimes) |
| Database | SQLite, PostgreSQL, MySQL, MongoDB |
| Components | Mitosis, React, Vue, React Native, Flutter |
| Native Shell | Tauri 2.0 (Rust) |
The engine source lives in the bitcode monorepo. The packages below
install and run on their own.
go-json CLI — standalone JSON/JSONC language engine:
# full build, with script runtimes (goja, QuickJS, Yaegi, Node, Python)
go install github.com/bitcode-framework/go-json-runtimes/cmd/go-json@v0.1.4
# lite build, core language only, no script runtimes
go install github.com/bitcode-framework/go-json/cmd/go-json-lite@v0.1.2The UI packages are not published to npm yet. Use them straight from source:
git clone https://github.com/bitcode-framework/ui-schema
git clone https://github.com/bitcode-framework/uiWant to see it running first? The go-json playground and the ui showcase need no install at all.
BitCode is under active development and not yet production-ready. The core engine, the go-json language, and the UI packages are all functional and covered by test suites. See each repository for its current status.
Each repository carries its own license. Check the LICENSE file in the repository you are using.