What is Tissue?

What is Tissue?

Tissue is a serverless compute platform. You write functions, deploy them with a single command, and they run on a live URL — no servers to configure, no runtime to install, no infrastructure to operate.


The biological metaphor

The platform is named after biological tissue — the organizational layer between individual cells and whole organisms. In biology, tissue is what emerges when specialized cells work in coordination: each cell isolated, self-contained, doing exactly one thing well; the tissue as a whole far more capable than any individual cell.

tissue.systems extends this metaphor across the entire stack:

Cells

A Cell is the basic unit of computation. Each Cell is an isolated JavaScript or WebAssembly module that handles HTTP requests. Cells are stateless — they receive a request, produce a response, and terminate. No shared memory, no persistent local state, no side effects beyond their declared bindings.

Just as biological cells maintain their internal chemistry through a membrane boundary, Cells on tissue.systems are isolated by default. They can only reach the outside world through explicit, declared channels: outbound fetch(), a c3 database binding, or a g7 storage binding.

c3 — Structured data

c3 is the platform's structured data service, backed by SQLite. The name echoes biochemistry: C3 in biology refers to three-carbon molecules — the fundamental currency of cellular chemistry. In tissue.systems, c3 is the fundamental currency of structured information: relational, persistent, queryable.

c3 exposes a clean, familiar API. If you've used a SQL database in a serverless environment before, c3 will feel immediately familiar.

g7 — Object storage

g7 is the platform's object storage service. The name is a numeronym: g + 7 (the seven letters of lycogen) + n = glycogen. The same convention behind i18n and k8s applied to a biological molecule.

In biology, glycogen is how living systems store dense, stable reserves of glucose — compact, inert, available on demand when a cell needs energy or raw material. In tissue.systems, g7 is how your Cells store dense, stable reserves of data: images, documents, compiled assets, arbitrary binary objects.

pulse — Scheduled invocations

pulse is how Cells run on a schedule. A Cell can declare one or more cron expressions in ribo.toml; the platform fires a pulse event at each scheduled time, calling the Cell's pulse(event, env) handler. No incoming HTTP request is needed.

The name echoes the biological metaphor: a pulse is the periodic signal that keeps a system alive between external stimuli.

ribo — The CLI

ribo is the command-line tool that deploys Cells and manages platform resources. The name comes from the ribosome — the molecular machine inside every living cell that reads genetic instructions and assembles proteins from them. In the same way, ribo reads your ribo.toml and assembles a running Cell from your code.


Platform components

Component What it is
Cell A JavaScript or WASM function that handles HTTP requests
c3 Per-account SQLite databases, bound to Cells at deploy time
g7 Object storage (files, images, binary data), accessible from Cells
pulse Scheduled Cell invocations on a cron schedule
ribo The CLI for deploying Cells and managing resources

How a request flows

  1. A request arrives at https://<slug>.dev.tissue.systems
  2. The platform routes it to the correct Cell based on the slug
  3. The Cell's fetch(request, env) handler is called in an isolated V8 instance
  4. The Cell reads from env.DB (c3) or env.BUCKET (g7) if it has those bindings
  5. The Cell returns a Response

The Cell's isolate is reused across requests for warm performance. Redeploying the Cell immediately routes new requests to a fresh isolate.


Next steps

  • Quick Start — deploy your first Cell in under five minutes
  • Cells — what Cells are and how to write them
  • c3 — persistent SQLite databases
  • g7 — object storage
  • Pulse — run a Cell on a cron schedule