Software your whole team can see — and your AI can safely change
Graphden keeps your program as a living, typed graph in a database — not text in files. Engineers review structure instead of prose diffs, teammates compose ready-made typed blocks without touching code, and AI edits land as inspectable, effect-gated changes. And it's already running: no build step, no deploy step.
The demo drops you into a live, sandboxed workspace that self-destructs after an hour — an interactive lesson walks you through your first function. This page is itself a graphden graph, served by the platform it describes.

What a function looks like
{:name :my-about-page
:parent :html-page-route
:args {:path "/about"
:title "About"
:body :my-about-body ; returns hiccup
:head :graphden-page-head ; default CSS
:scripts {:value []}}} ; no JS- A row, not a file.
:parentpicks the template;:argsbind its slots. The unbound ones stay free — the Run form asks for them. - Type-checked as you bind.
:bodymust return hiccup,:pathmust be a path; a wrong wire is refused in the editor, not at 3 a.m. - Already deployed. Save it and the route answers. Branch it, diff it (above), merge it — the same way you'd review anything else.
Paste it into the editor, or follow lesson 07 where it comes from.
One change — two ways to review it
In text: nine lines touched, the change buried in rewrapping
- export const notify = (channel, msg) =>- post(channel, render(msg))+ export const notify = (+ channel = ONCALL_CHANNEL,+ msg,+ urgent = true+ ) =>+ post(channel,+ urgent ? renderUrgent(msg) : render(msg))
In Graphden: the structure that actually changed


Same edit, as the editor renders it: each rebinding as old → new, the new function by name, its seeded value — whether a human made it or an AI did. Flip on compare mode and the diff becomes the graph: the value the branch holds sits under yours, the function it swapped in hangs beside the card as a ghost of its own subtree, and everything that merely depends on the change is marked changed-inside. Click either shot for full size.
One graph, three ways to work on it
Engineers review structure, not prose
Every function is a row; composition is edges. The whole program is queryable, versionable and branchable — like git, except it stays alive while you edit it. A change lands as a structural diff — added N functions, changed M bindings — so review reads the behaviour, not reformatted text.
Teammates compose without code
Ready-made typed blocks wire together by shape, and every connection is type-checked as you make it — so a support engineer or a manager can extend a workflow without being able to break it. Secrets are taint-tracked through composition and redacted at the edges.
AI edits it can't silently break
An AI proposal is a graph change: typed, effect-declared (db, network, process — gated at runtime), structurally valid by construction. You inspect exactly what it did in the same editor you build in — behaviour, not 400 lines of reformatted text.
How it works
New here? The tutorial walks the whole path in 36 short lessons — first function to types, branches, tests and a running service.
Pricingcloud
| Capability | Demo | Free | Cloud Shared | Cloud Dedicated |
|---|---|---|---|---|
| Sign-up | none | free | paid | paid |
| Outbound HTTP / your own DB / bots | — | ✓ metered | ✓ | ✓ |
| Functions | 200 | 500 | 5,000 | 5,000 |
| Outbound calls / min | 0 | 120 | 6,000 | uncapped |
| Always-on services | — | — | — | ✓ dedicated pod |
| Workspace | 1-hour sandbox | persistent | persistent | persistent |
Paid plans are in founding-user beta: the first 30 organisations get Cloud Shared or Cloud Dedicated free until billing launches, then six months at half price — in exchange for feedback. Ask for a plan with your organisation name. Self-hosting is free and uncapped, always.
Self-host it
One binary, AGPL
The cloud runs the exact same open-source core you can run yourself — multi-tenancy is an optional addon, not a fork. Postgres is the only dependency.
Quick start
git clone https://github.com/Graphden/graphden cd graphden bb rebuild # jar + docker + start open http://localhost:9002
Support the project
Graphden is built in the open by one engineer, with AI as an accelerator and every change reviewed by a human. If it's useful to you, star it, break it, tell us — or fuel the servers:
…or send crypto directly (self-custodied):
bc1qqp3etkkceygs9n8vvhuwm6fc4u56ceflr6e6nu0x5D3c2E2272F0b7244184Cb3231b6f21D8a1c97fDTShPHXzRBuneddGfSK9DXtPV6BEAghrbbE