THE FOUNDATION

The orchestration engine.

cpp.js is the open-source build system at the core of Celoce. It standardizes cross-platform native interoperability, resolving transitive dependencies, generating FFI bindings, and routing compilation across Emscripten, NDK, and Xcode toolchains from a single configuration.

// layer 1 · open source foundation

cpp.js

Open-source foundation and orchestration system developed by Celoce. cpp.js standardizes cross-platform native integration workflows from a single configuration.

cpp.js logo
cpp.js
Cross-platform C++ interoperability orchestration system

Human-written, open-source orchestration system that compiles C++ libraries for multiple platform targets. Handles dependency resolution, automatic bindings generation, packaging, and orchestration across runtimes and deployment targets.

Capabilities

  • Direct C++ header imports in JS (import {...} from './foo.h'), bidirectional, no manual bindings
  • C++ to WebAssembly compilation
  • Native mobile compilation
  • Automatic bindings generation
  • CMake integration
  • Cross-platform packaging
  • Orchestration across runtimes
  • Unified developer workflows

Supported targets

  • Web (WebAssembly)
  • Node.js
  • React Native
  • iOS
  • Android
github.com/bugra9/cpp.js ↗
// infrastructure extensions

Infrastructure Extensions.

We don't just wrap compilers. We extend the interoperability layer to solve gaps that raw toolchains leave open.

Emscripten+

Extended WebAssembly interoperability layer

Extends Emscripten's embind for production use. Handles complex C++ object-oriented semantics and overloaded functions that the standard toolchain leaves to manual binding.

  • Improved embind interoperability
  • C++ object-oriented interoperability
  • Overloaded function support
  • Enhanced runtime binding workflows
JSI++

Extended React Native runtime interoperability

Provides embind-compatible JSI integration for React Native. Unifies runtime semantics for native modules across iOS and Android.

  • Embind-compatible JSI integration
  • C++ object interoperability
  • Unified runtime semantics
  • Reduced bridge inconsistency across platforms
SWIG Embind

Interface generation tooling

Custom interface generation infrastructure that automates binding creation between C++ libraries and target runtimes. Reduces manual bridge code and provides unified interface workflows across platforms.

  • Automatic binding generation
  • Reduced manual bridge code
  • Interoperability automation
  • Unified interface workflows
Core Orchestration

cpp.js workflow orchestration layer

The orchestration layer that coordinates compilers, architectures, runtimes, packaging systems, deployment targets, and build workflows into a single coherent pipeline.

  • Compiler coordination across targets
  • Architecture-aware build routing
  • Runtime and packaging integration
  • Deployment target management
  • Workflow standardization
// architecture

Infrastructure stack.

Infrastructure Stack
Developers Enterprise Systems AI Agents
Celoce Cloud / Enterprise APIs
Workflow Orchestration Layer
cpp.js + Infrastructure Extensions
WebAssembly React Native iOS Android Node.js
Deployment Modes
Local Development
cpp.js orchestration system
Managed Infrastructure
Celoce Cloud
Self-Hosted Infrastructure
Celoce Enterprise

Workloads that benefit most.

Many portable C++ libraries are supported. Performance benefits are most significant for compute-heavy workloads where C/C++ implementations have years of optimization.

Geospatial

GDAL, GEOS, PROJ: coordinate reprojection, format conversion, and spatial analysis in browser or mobile contexts.

gdal · geos · proj

Numerical computing

BLAS, LAPACK, FFTW, Eigen: linear algebra, signal processing, and matrix operations for compute-intensive applications.

blas · lapack · fftw · eigen

Media processing

ffmpeg, libvpx, JPEG XL: video transcoding, image processing, and codec operations without server-side infrastructure.

ffmpeg · libvpx · jpeg-xl

CAD and simulation

OpenCASCADE, Open3D, Bullet: geometric kernels, physics engines, and 3D processing for engineering applications.

opencascade · open3d · bullet

Cryptography

OpenSSL, libsodium, BoringSSL: audited cryptographic primitives deployed client-side in supported environments.

openssl · libsodium · boringssl

Embedded databases

SQLite, DuckDB, RocksDB: local data processing and querying without network dependencies.

sqlite · duckdb · rocksdb
// technical context

Why not Emscripten or JSI directly?

We natively support and integrate both Emscripten and JSI. We fill the shortcomings of both. Our JSI++ understands embind-style semantics, creating a unified interoperability layer across supported targets.

Emscripten / JSI alone

  • Emscripten primarily targets WebAssembly workflows; it does not provide multi-target orchestration by itself
  • JSI provides React Native native interoperability, but teams still manage platform-specific build and packaging differences
  • Manual dependency resolution
  • Manual bindings between C++ and JS
  • No built-in caching or artifact reuse
  • Single-target output per configuration
  • No unified cross-platform orchestration

With cpp.js + Celoce

  • Natively integrates both Emscripten and JSI
  • JSI++ understands EMBIND: one universal standard
  • Compiles C/C++ to WebAssembly, iOS, Android
  • Automatic transitive dependency resolution
  • Automatic bindings generation
  • Artifact caching and reusable outputs
  • Multi-target output from single configuration
  • Remote builds, CI integration, registry

cpp.js natively supports and integrates both Emscripten and JSI, filling the shortcomings of each. JSI++ provides embind-compatible semantics across React Native, while Emscripten+ extends WebAssembly interoperability. For single-file compilations, either tool alone may be sufficient. For libraries with transitive dependencies and multi-platform targets, the unified orchestration layer reduces significant operational complexity.

Start with the open-source
foundation. Scale with infrastructure.

cpp.js is free and runs locally. When you need managed builds or enterprise infrastructure, Celoce Cloud and Enterprise are there.