Product

The system architecture compiler

Rhodd is a deterministic system architecture compiler for declarative software systems. You declare the system in rhodd.yaml; Rhodd validates it, builds a model and graph, plans every write, emits deterministic artifacts, and writes lock, ownership and handoff state.

v0.1.0-rc.1 · pre-release
rhodd.yaml
yaml
version: "0.1"
project:
  name: fullstack-saas
  description: Frontend, backend, a Go service, database, worker, adapters, Docker, and Kubernetes.
preset:
  kind: fullstack-saas
  quality: production-baseline
frontend:
  framework: react
  language: typescript
  bundler: vite
  validation: zod
  componentLibrary: radix
  state:
    client: zustand
    server: tanstack-query
backend:
  language: typescript
  framework: nest
  transport: rest
  orm: prisma
modules:
  - name: postgres
  - name: redis
services:
  - name: web
    kind: app
    runtime: react-ts-zod
    language: typescript
    port: 5173
    exposure: cluster
    dependencies: [api]
    consumes: [http]
    env: { VITE_API_BASE_URL: http://api:3000 }
  - name: api
    kind: app
    runtime: node-nest
    language: typescript
    port: 3000
    replicas: 2
    exposure: cluster
    provides: [http]
    dependencies: [postgres, redis]
    consumes: [postgres, redis]
    env: { DATABASE_HOST: postgres, CACHE_HOST: redis }
  - name: audit
    kind: app
    runtime: go-http
    port: 8081
    exposure: cluster
    provides: [http]
    dependencies: [api]
    consumes: [http]
    env: { API_BASE_URL: http://api:3000 }
  - name: jobs
    kind: app
    runtime: node-worker
    language: typescript
    port: 9100
    exposure: none
    dependencies: [api, postgres, redis]
    consumes: [http, postgres, redis]
    env: { QUEUE_NAME: billing-jobs }
database:
  provider: postgres
  orm: prisma
targets:
  - { name: frontend-react }
  - { name: backend-node-nest }
  - { name: backend-go-rest }
  - { name: prisma-db }
  - { name: workers-node }
  - { name: docker-compose }
  - { name: kubernetes }
  - { name: full-project }
infrastructure:
  compose: true
  kubernetes: true
  docs: true
  tests: true
Where it sits

A different layer

Rhodd is not infrastructure-as-code, not a scaffold, and not an AI builder. It compiles the software-system architecture layer that sits above them.

vs IaC

A different layer

Terraform and Pulumi manage infrastructure resources — networks, clusters, cloud accounts. Rhodd compiles software-system architecture: services, modules, the dependency graph and the baseline they generate. Different layer. Rhodd does not emit, include or synthesize Terraform.

vs scaffolding

Stateful, not one-shot

A generator copies a starting point and forgets it. Rhodd is a stateful, inspectable compiler — it keeps the model, graph, plan, lock, ownership and handoff, so the system stays coherent as it changes.

vs AI builders

Compiled, not prompted

AI builders generate from prompts and hope. Rhodd compiles from an explicit definition: same input, same output. AI is a bounded consumer of compiled state — never the generator, no live calls by default.

The compile

Definition in, baseline out

One deterministic pass of nine local stages. The four amber stages — model, quality, ownership, handoff — are where a compiler does what a template cannot. See how it works →

01
validate
Schema + rules check
02
model
Build the system model
03
graph
Resolve dependencies
04
plan
Compute write set
05
generate
Emit target artifacts
06
quality
Gates + checks
07
lock
Hash + freeze
08
ownership
Assign boundaries
09
handoff
Context for humans + AI
Differentiator — model, quality, ownership, handoffStandard compile stage
Guarantees

Architectural invariants

The properties that hold on every compile, by construction — not by convention.

Local-first

Everything runs on your machine. No account and no cloud dependency to compile a baseline.

Deterministic

Same input → byte-identical output. The lock file's input and output hashes prove it.

Inspectable

Every artifact under .rhodd/ is plain text you can read, diff and commit. No hidden state.

No live calls by default

No provider or cluster calls happen unless you opt in — AI providers included.

Ownership-aware

Generated paths and user-owned source are tracked apart, so regeneration never clobbers your code.

Guarded apply & rollback

Applying a baseline is explicit and reversible; apply and rollback are opt-in, never automatic.

Compile your software system from a definition.

Local-first, deterministic, inspectable. Rhodd works without AI — AI becomes safer when Rhodd gives it explicit state.