Mockomat is built around four ideas. Together they make mock data feel like an extension of your codebase, not a side-project. Here's how the system thinks — and what it gives you back.
You describe entities and attributes; Mockomat compiles a typed GraphQL schema, binds attributes to the data pool, and serves both a JSON endpoint and a rendered preview from the same compiled artifact.
We didn't build Mockomat by accreting features. Each capability follows from one of these four commitments. If you understand them, you can predict how the rest of the system behaves.
You design the model. Mockomat compiles it.
Everything starts from your entities and attributes. The mock data, the GraphQL schema, the documentation, the rendered preview — all derive from a single source of truth. Change the model, everything downstream regenerates.
Same seed in. Same data out. Every time.
The runtime is stateless and seed-driven. A request to /graphql at any moment replays from the same seed your team agreed on — so a snapshot today matches a snapshot in CI tomorrow. No flaky fixtures, no drift between environments.
Workspaces, projects, roles, scoped keys.
Every account is a tenant boundary. Inside, projects scope schemas; roles scope edit rights; API keys scope external access. Configuration is isolated per tenant from the very first byte — never bolted on after the fact.
Machine-readable for code. Human-readable for review.
The same model serves /graphql for your application and /preview for stakeholders. Engineers consume JSON; designers and PMs see a rendered table or list of the very same data. No second source of truth for product reviews.
When prototyping ends and shipping begins, your Mockomat schema doesn't stay locked in our service. One click generates a fully-typed Angular client and a NestJS server scaffold — both wired to the same GraphQL contract you already validated.
Mock data with random seeds breaks tests, breaks reviews, and erodes trust. Mockomat's runtime keys every response off the same seed your team chose. Re-fetch a record next month — same shape, same values, same edges.