Live Demos

Sample Cells running on Tissue — each deployed in seconds with ribo deploy.

JavaScript

hello
JS

Minimal Cell — routing, JSON responses, and an echo endpoint. The shortest path from ribo deploy to a live API.

routing JSON responses echo
static-ping
JS

Static HTML page with a JSON API endpoint. Click a button to ping the cell and see method, timestamp, and response directly in the page.

static HTML REST API fetch handler
c3-notes
JS C3

Persistent notes app backed by a C3 SQLite database. Create and delete notes — data survives redeploys, scoped to the cell owner.

C3 SQLite CRUD persistent storage
notes
JS C3

Full CRUD notes REST API in plain JavaScript. Create, read, update, and delete notes with a C3 SQLite database — no framework, no dependencies.

REST API C3 SQLite CRUD
url-shortener
JS C3

URL shortener that creates short codes, issues 301 redirects, and tracks click counts in C3. Custom codes supported; conflict detection on duplicates.

301 redirects C3 SQLite click tracking
api-racer
JS

Fans out to 6 public APIs simultaneously from the Tissue edge and measures per-API latency. Shows the parallelism factor vs sequential execution.

Promise.all concurrent fetch latency benchmark
growzone
JS

USDA Plant Hardiness Zone lookup by US zip code. Enter any 5-digit zip to see your grow zone, temperature range, and frost dates from the 2023 USDA map embedded in the cell.

USDA 2023 data embedded dataset esbuild bundle
llm-chat
JS C3

Stateless LLM chat Cell. Each request is independent — no history between calls. API key stored in C3, never in source.

Anthropic API C3 key storage stateless
agent
JS C3

Stateful AI agent with per-session conversation memory persisted in C3. Session history is replayed on every turn; multiple sessions are fully isolated.

Anthropic API session memory C3 SQLite
flower-farm
JS C3 FILES

Flower farm website with live inventory and a visitor waitlist. Stock badges are rendered server-side from C3 on every request. Visitors sign up to be notified when a flower is back — entries land in C3. Includes an admin dashboard showing signups and demand per flower.

live stock badges waitlist → C3 admin dashboard FILES binding

Rust → WebAssembly

fib
WASM

Fibonacci in Rust/WASM. Computes fib(n) for n up to 93 in Rust and returns the exact result as a string — avoiding IEEE 754 precision loss for large values.

wasm-bindgen u64 precision fetch handler
primes
WASM

Prime counter using async Rust futures compiled to WASM. Demonstrates that CPU-bound futures are cooperative, not parallel — join runs them sequentially.

Rust async wasm-bindgen-futures cooperative futures
analyst
WASM

Text analysis Cell running four passes concurrently via future::join4 and yield_now(). Makes cooperative multitasking visible in the response.

future::join4 yield_now cooperative scheduling
phonebook
WASM C3

Contacts CRUD API written in Rust, compiled to WASM. Rust equivalent of js-notes — same API surface, different implementation language, C3 for persistence.

Rust serde_json C3 SQLite
spellcheck
WASM

Levenshtein edit-distance spell checker compiled from Rust to WASM. Searches a 210k-word dictionary embedded in the binary — all computation in Rust, zero JS business logic.

Rust wasm-bindgen Levenshtein DP 210k words
spfchecker
WASM

SPF DNS record validator. Browser fetches TXT records from 1.1.1.1 DoH and follows include: chains recursively; Rust validates against RFC 7208 — 10-lookup limit, syntax errors, dangerous configurations.

Rust RFC 7208 DNS-over-HTTPS recursive lookup

TypeScript

ts-events-api
TS C3

Typed events/calendar REST API written in TypeScript. Compiled to JS via esbuild as a ribo.toml build step — the TS source never leaves your machine.

TypeScript esbuild C3 SQLite REST API

All cells deployed with ribo deploy from a ribo.toml. Full source at github.com/ki7dk/tissue-examples. Sign up at tissue.systems to deploy your own.