Open-Source Distributed JavaScript Runtime

Build applications—not infrastructure.

CoCreateJS combines HTTPS, WebSockets, CRUD, API orchestration, clustering, telemetry, autoscaling, self-healing, and multi-cloud coordination in one lightweight, framework-agnostic runtime.

Run any application, or pair it with the optional CoCreateJS Client for realtime, offline-capable interfaces built with JavaScript or HTML.

≈1.5 MB Runtime Open Source Framework Agnostic Self-Hosted Multi-Cloud Realtime

Modern infrastructure is more complex than it needs to be.

Building a distributed application should not require assembling and maintaining an entire collection of infrastructure products before application development can begin.

Too Many Moving Pieces

Load balancers, ingress controllers, proxies, service discovery, process managers, queues, caches, and orchestration systems all require configuration and maintenance.

Fragmented Configuration

Behavior becomes scattered across JavaScript, YAML, cloud dashboards, ingress rules, pipelines, service meshes, and provider-specific configuration.

Higher Infrastructure Costs

Every additional service consumes CPU, memory, networking, storage, and engineering time—even when the application itself is small.

Larger Security Footprint

Every dependency, exposed service, plugin, and management layer adds another component that must be audited, patched, and protected.

Operations Become the Product

As systems grow, engineering effort shifts away from application features and toward maintaining the infrastructure surrounding them.

Fragmented Knowledge

Teams must learn multiple products, frameworks, formats, deployment systems, and operational models to run one application.

What if the infrastructure surrounding the application could become part of one small runtime?

One runtime. Every node complete.

Every node can receive traffic, run workers, serve applications, communicate with peers, monitor itself, and participate in scaling decisions.

Browser / Application Client
Anycast / GeoDNS
Runtime AHTTP · Sockets · API
CRUD · Workers · IPC
Runtime BHTTP · Sockets · API
CRUD · Workers · IPC
Runtime CHTTP · Sockets · API
CRUD · Workers · IPC
Peer communication
Database / Source of Truth
Every Node Is a Complete Participant

There is no dedicated global master, ingress tier, or load-balancer tier. Every node is a complete peer with its own local worker orchestration.

Integrated Traffic Handling

Anycast or GeoDNS directs the initial connection. Once traffic arrives, JavaScript and stored policy can make application-aware routing decisions.

Stateless, Disposable Nodes

Definitions, workflows, permissions, files, and operational state live in shared storage, so nodes can be created, replaced, or removed.

Framework Agnostic

Host or support applications built with any frontend or server-side framework without changing the runtime model.

Multi-Cloud by Design

Operate across providers, regions, bare metal, private infrastructure, or any combination of them.

Core runtime capabilities

CoCreateJS combines the infrastructure required to operate distributed applications into one compact, extensible runtime.

Distributed Runtime

Complete peer nodes coordinate traffic, workers, communication, recovery, and scaling.

Infrastructure as Configuration

Define routing, APIs, storage, schedules, and policy as structured application data.

Unified APIs

Use consistent objects and events across CRUD, sockets, APIs, storage, and runtime operations.

Edge and Multi-Cloud

Run close to users across regions, providers, private infrastructure, and bare metal.

Self-Healing Operations

Observe health, cordon overloaded workers, redistribute traffic, recover, and scale.

Open Runtime

Inspect, self-host, extend, or replace capabilities through familiar JavaScript primitives.

Change application behavior without redeploying the runtime.

CoCreateJS stores application definitions as structured data. The runtime stays stateless and generic while shared storage remains the source of truth.

Author

HTML · JavaScript · AI
CLI · Visual Editor

Store

APIs · Endpoints · AST · Cron Jobs
Permissions · Files · Configuration

Execute

Runtime Nodes · External APIs
Databases · Events · Automations

Database as the Source of Truth

Providers, workflows, files, permissions, runtime configuration, and scheduled jobs are centrally available to every node.

Immediate Behavior Changes

Updating configuration or an AST definition changes behavior without rebuilding or redeploying the runtime.

Environment Isolation

Development, staging, and production can use separate hosts and databases while running the same runtime.

Any API. Provider-native payloads. No SDK layer required.

The runtime handles credentials, authorization, headers, transport, and execution without replacing the request format providers already document.

Direct API Requests

Send a provider-native body directly to a configured API. An endpoint is not required.

Named Endpoints and Macros

Save, name, secure, and reuse multi-step server workflows composed from AST operations.

Scheduled Workflows

Cron jobs use the same AST execution model without adding a separate scripting framework.

HTML / JavaScript / AI
Structured AST
API CallCRUDConditionTransformReturn

A direct request is simple. An endpoint is reusable.

Endpoints are optional server-side macros for workflows such as creating a customer, reading organization data, sending a message, writing an audit record, and returning a unified response.

Credentials stay on the server. AST execution is permission-based and limited to approved operations.

A small surface built from familiar JavaScript primitives.

Capabilities are exposed through ordinary objects, functions, maps, events, and payloads—not proprietary method trees or another routing language.

server.js
import server from "@cocreate/server";

await server.init();

server.routes.set("/health", (req, res) => {
  res.writeHead(200, {
    "Content-Type": "application/json"
  });

  res.end(JSON.stringify({ status: "healthy" }));
});

await server.crud.send({
  method: "object.read",
  array: "users",
  filter: { limit: 1 }
});

server.wsManager.on("message", callback);
server.routes

A native Map for application request handlers. Method, host, tenant, and geographic policy remain ordinary JavaScript.

server.api and server.files

Built-in handlers that applications can use directly, call from a route, wrap, or replace.

server.crud

A unified object-based interface for data operations across storage providers.

server.wsManager

Realtime messages through a consistent event-driven interface.

server.storage

Shared runtime state and coordination across workers through IPC.

The runtime provides capabilities. The application provides policy.

Authentication, authorization, geographic routing, tenant placement, request transformation, caching, and provider selection stay under application control.

A runtime that observes, adapts, and heals itself.

Telemetry, worker coordination, node communication, and autoscaling operate inside the runtime rather than through separate orchestration services.

Observe

Track resources, connections, traffic, and health.

Cordon

Stop new work while preserving active connections.

Redistribute

Direct new clients toward healthy capacity.

Scale

Create capacity according to demand and geography.

Recover

Uncordon workers or safely retire drained nodes.

One object model across every storage engine.

Work with universal application concepts instead of rewriting logic around collections, tables, rows, records, or documents.

Unified CRUD payload
await server.crud.send({
  method: "object.read",
  array: "users",
  filter: {
    query: {
      email: "user@example.com"
    },
    sort: {
      created: -1
    },
    limit: 1
  }
});
arrayobjectkeyfilterstoragemethod
Native Optimization

Adapters translate unified operations into efficient native database operations such as findOne, LIMIT 1, or the provider equivalent.

Multiple Storage Providers

Target multiple providers in parallel for replication, migration, backup, edge synchronization, analytics, or redundant writes.

Shared Client and Server Concepts

The same vocabulary carries across declarative HTML, JavaScript, browser storage, sockets, and server databases.

Optional Client Runtime

Design first. Use code when you need it.

Build realtime, offline-capable interfaces through declarative HTML, a headless JavaScript API, or both. The server runtime does not require the client.

Declarative HTML

Add data, state, rendering, actions, files, and realtime behavior through readable attributes.

<input
  array="users"
  object=""
  key="name"
  realtime />

Headless JavaScript

Consume the same capabilities programmatically with React, Vue, Angular, Svelte, Solid, plain JavaScript, Web Components, or your own renderer.

Realtime dataOffline-firstIndexedDBPWAFile uploadsReactive state
React·Vue·Angular·Svelte·Solid·Astro·Web Components·Vanilla JavaScript

A frontend framework controls rendering. CoCreateJS can provide realtime data, sockets, storage, APIs, files, and the distributed runtime beneath it.

Stored collaboratively. Delivered from the edge.

HTML, components, files, and application assets can live in shared storage for collaboration, AI editing, permissions, metadata, versioning, and realtime synchronization.

Database source of truth
Content change and cache refresh
Edge and browser cache
Offline / PWA availability

The database is the source of truth—not the origin for every request.

Assets can carry cache control, TTL, content type, visibility, host rules, paths, modification data, and validation metadata.

  • Collaborative and AI-assisted editing
  • Central permissions and metadata
  • Stateless access across runtime nodes
  • Fast delivery through layered caching

Store once. Collaborate centrally. Deliver globally.

Small software. Fewer moving parts.

CoCreateJS relies primarily on native Node.js capabilities and adds external packages only where transport or protocol complexity makes them valuable.

≈1.5 MB
Compact Runtime

Designed for fast replication and consistent deployment.

Minimal Dependencies

A smaller graph to audit, patch, and maintain.

One Runtime

HTTP, sockets, workers, telemetry, files, APIs, and coordination together.

No Required Ingress Tier

Operate directly behind Anycast or GeoDNS.

Native Coordination

IPC and runtime communication without required Redis.

Disposable Nodes

Minimal local state makes nodes easier to replace and distribute.

Fewer services reduce the components that must be audited and maintained. Runtime access, databases, credentials, permissions, clients, and deployment tooling must still be secured.

One runtime. Many kinds of systems.

Use a shared set of runtime primitives across applications, infrastructure, and deployment models.

Distributed SaaS

Multi-tenant applications across regions and clouds.

Realtime Collaboration

Editors, chats, dashboards, and shared workspaces.

AI Applications

Structured prompts, providers, tools, and workflows.

CRMs and ERPs

Data-heavy systems with any frontend or CoCreateJS Client.

APIs and Automation

Provider requests, macros, cron jobs, and CRUD.

Application Builders

Declarative components, configuration, and workflows.

PWAs and Offline Apps

Browser caching, IndexedDB, and synchronization.

Multi-Cloud Systems

Complete nodes across providers without fixed roles.

Open Source

Built in the open. Small enough to understand.

Foundational infrastructure should be inspectable, auditable, extensible, and community-driven. Read the same source that powers the runtime and help refine it.

Available under AGPL-3.0 with alternative commercial licensing where required.

Transparent Runtime

Inspect the implementation, architecture, dependencies, and behavior.

Community Contributions

Improve source, documentation, performance, and compatibility.

No Hidden Management API

Management tools use the same capabilities available to applications.

Frequently asked questions

Learn how the runtime, client, storage model, deployment architecture, and open-source project fit together.

Email Us
Runtime and Architecture

An open-source distributed JavaScript runtime that integrates application hosting, communication, data, APIs, telemetry, scaling, and recovery.

No. It is a framework-agnostic runtime. Use React, Vue, Angular, Svelte, plain JavaScript, native clients, or the optional CoCreateJS Client.

No. Worker coordination, telemetry, cordoning, recovery, and autoscaling are runtime capabilities. You can still deploy it within existing infrastructure if desired.

There is no dedicated global control node or ingress tier. Each runtime node is complete and has its own local primary process coordinating workers.

Yes. Complete nodes can operate across providers, regions, bare metal, and private infrastructure while sharing application definitions and state.
Data, Client, and Deployment

Yes. Storage adapters translate a shared object model into efficient native operations for supported providers.

Yes. Operations can target multiple storage providers for replication, migration, backups, analytics, or redundant writes.

Credentials remain server-side. Authorized requests reference configured providers while the runtime applies authentication and transport.

No. The runtime accepts any compatible client. The optional client adds declarative HTML, realtime data, offline behavior, and headless JavaScript APIs.

Yes. CoCreateJS is designed for your own server, private infrastructure, bare metal, or multi-cloud deployment.

Talk with the CoCreateJS community

Have a question about runtime integration, architecture, storage adapters, deployment, or contributing? Tell us what you are building.

Address
42 Broadway #12
New York, NY 10004
United States
Topics

Runtime · Client · Self-hosting · Architecture · Storage adapters · Open source · Documentation

Run your first CoCreateJS node.

Start locally, inspect the source, and grow into a distributed system.