ContractSpec docs

OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

AI index

Comparison overview

ContractSpec sits at the intersection of several tool categories. To appreciate its unique offering—typed specifications for back-end, front-end, workflows and policies with a unified web/mobile runtime—this section compares it to related products.

ContractSpec uses runtime adapters to serve typed Operations (Commands/Queries), DataViews, Workflows, and Policies as REST/GraphQL/MCP endpoints. A policy decision point governs every operation, and OverlaySpecs allow non-technical users to personalise screens safely. Few competitors offer this combination of runtime type safety, policy enforcement, and end-user customisation.

Tool categories

Category

Examples

What they do

Limitations

Workflow engines

Prefect, Kestra, Temporal, Airflow, Dagster, Hatchet, Windmill

Orchestrate code or data pipelines; handle retries, scheduling and observability

Require writing code; no automatic UI generation or policy enforcement.

Internal-tool builders

Retool, Appsmith, ToolJet, Budibase

Drag-and-drop dashboards and admin panels; connect to databases/APIs

No typed back-end spec; limited enforcement of policies; custom code glues logic.

Automation platforms

Zapier, Make, n8n, Pipedream

Connect apps via triggers and actions; visual or low-code interfaces

Automate tasks but do not generate full apps or enforce per-field policies.

Enterprise orchestrators

Redwood RunMyJobs

Automate mission-critical workloads with self-service portals and SAP integrations

Focus on IT workloads; not built for custom app creation or per-user customisation.

Use the pages below to explore each group in detail and see how ContractSpec compares.

OSS docsStart with OSS. Adopt Studio when you want the operating layer.

Why ContractSpec

Keep educational and comparison content reachable without letting it define the primary OSS learning path.