# Couchset: a Couchbase ORM with automatic GraphQL APIs

> An updated look at Couchset, the TypeScript toolkit that turns Couchbase model definitions into CRUD, N1QL queries, pagination, and GraphQL building blocks.

Published: 2026-08-05

Canonical HTML: https://www.ceddy.org/blog/couchset-graphql-api

---

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](https://github.com/couchset/couchset)
