Couchset: a Couchbase ORM with automatic GraphQL APIs

August 5, 2026

The original Couchset post was about a simple idea: product models should be easy to evolve. Couchset has since grown into a fuller TypeScript toolkit for teams that want Couchbase's document flexibility without rebuilding the data-access and API layers from scratch.

At its core, Couchset is a Couchbase ORM and automatic GraphQL API generator. You define a model once, then use it to create documents, look them up, update them, delete them, and expose the pieces needed by an application API.

From model to application surface

Couchset provides the recurring backend pieces that tend to slow down early product work:

  • Model-level CRUD with schema, validation, population, static methods, and indexes.
  • Pagination that translates a structured filter into Couchbase's SQL++ / N1QL queries.
  • A query builder for custom queries when an application needs more control.
  • Automatic GraphQL resolvers plus generated client queries, mutations, subscriptions, and fragments.

That combination matters because a model is rarely only a database concern. It needs an API, safe query patterns, pagination, and a usable client contract. Couchset keeps those layers aligned without making every feature start from a fresh round of boilerplate.

Why Couchbase still fits the problem

Couchbase gives a product team room to iterate on document shapes while retaining expressive, SQL-like queries and indexing. Couchset sits on top of that flexibility with a TypeScript-first developer experience: model definitions stay close to the code that uses them, while the repetitive plumbing becomes generated, reusable infrastructure.

The project remains open source and MIT licensed. It is a good example of the kind of developer tool I enjoy building: opinionated enough to remove real work, but open enough to support custom queries and an application's own architecture.

Explore Couchset on GitHub

GitHub
LinkedIn
X