Comparisons
Every idea FrontierJS builds on was proven somewhere else first. Here is what each of those projects got right, what FrontierJS adds by combining them, and what it cannot claim yet.
| Project | What they got right |
|---|---|
| Rails | Convention can encode architecture. The relationships between model, persistence, routing and behavior don't need explaining again in every app. Rails made app structure itself readable. |
| Laravel | Batteries belong in the framework. Queues, mail, notifications and auth share one vocabulary instead of five libraries glued together. |
| Elm | Make the underlying model explicit, and behavior follows from it. State, messages, updates and views are one system, not unrelated layers. |
| Phoenix / LiveView | The UI doesn't need its own separate world. Server state, events, validation and rendered UI can stay close together. |
| GraphQL | Describe the information first. A schema defines the types, relationships and operations, and each client takes the part it needs. |
| OpenAPI | One spec can produce many artifacts. Docs, clients, mocks, tests and types all come from one description. |
| JSON Schema | Meaning can live in the schema instead of in separate validation code, and the same definition can drive the UI. |
| Prisma | The data model is something developers read and edit. Migrations and the client API are derived from it. |
| ZenStack | Access rules belong in the schema. Policies sit next to the fields they protect and are enforced by the client. |
| Supabase / PostgREST | The database already knows enough to be an API. Postgres row-level security keeps access rules in the data. |
| Hasura | Schema to API to permissions, with no controllers in between. |
| Directus | A data model can become a whole app surface: API, permissions, admin UI and forms. |
| ServiceStack AutoQuery | One declaration can produce many surfaces: a query API, CRUD, UI and typed clients. |
| Wasp | One declaration file can describe a whole fullstack app. |
| RedwoodJS | Scaffold from the schema, across API and web, with conventions set in advance. |
| Convex | The backend can be reactive by default. Queries stay live without the app wiring any of it up. |
| dbo.io | "The schema is the application": REST API, security, content rendering and messaging all from the schema. |
| Schema2AI | One schema across many boundaries: server, browser UI, AI tools, docs and validation. |
| RaisinDB | A schema can describe the UX, not just storage. Data structures map to interface patterns. |