Skip to content

Blog

Technical writing from the FraiseQL team. Architecture decisions, performance analysis, honest tradeoffs.

Three Transports, One Binary

How FraiseQL serves GraphQL, REST, and gRPC simultaneously from a single compiled schema. One binary, one port, zero duplication — and what that means for auth, rate limiting, and observability.

Read post

Why Our gRPC Skips JSON Entirely

FraiseQL’s gRPC transport uses row-shaped database views that bypass PostgreSQL’s json_agg serialization. Less DB work, smaller wire payload — and why we’re not claiming to beat hand-written tonic.

Read post

REST Transport: Annotation-Driven, Not Auto-Wired

Why FraiseQL requires explicit rest_path and rest_method annotations rather than auto-exposing schema operations as REST endpoints. A design decision with real tradeoffs.

Read post

11 Languages, One Server

“FraiseQL supports 11 languages” sounds like server generation in 11 languages. It doesn’t work that way. The server is always a compiled Rust binary. Here’s what the SDKs actually do.

Read post

How FraiseQL Compiles Your Schema to SQL

A walk through the compile pipeline: SDK decorators → JSON schema → compiled artifact → SQL views → runtime execution. Five stages, one direction, no feedback loops.

Read post

Benchmarking REST Direct Execution vs GraphQL Bridge

Real numbers comparing FraiseQL’s REST direct execution path against the GraphQL bridge. ~15% throughput gain, honest methodology, honest caveats.

Read post