# JSR

> @mikehall314/cushion on JSR: A CouchDB-style document database for Deno.

- **Website:** https://jsr.io/@mikehall314/cushion
- **Pricing:** unknown
- **Categories:** Writing & Content, Design
- **Tags:** writing-content, design
- **Platforms:** Web
- **Last verified:** 2026-09-10
- **Canonical page:** https://linkrena.com/tools/jsr

## About

A CouchDB-style document database for Deno. Cushion gives you documents with optimistic concurrency, map-reduce views, and a query builder - powered by PouchDB and backed by Deno KV.

Cushion implements the PouchDB adapter interface directly against Deno KV. It gets you a real PouchDB: rev trees, conflict resolution, map/reduce views, and replication, backed by Deno's built-in database.

Revisions are tracked automatically, giving you optimistic concurrency for free: if two writers update the same document concurrently, the loser gets a 409 and should re-read and retry.

Two helpers to make the map-reduce API a little more ergonomic to work with.

Deno KV imposes a 64 KiB limit per value, so a single document revision (or attachment) larger than that will fail to write. Deno KV atomic operations are also capped at 1000 mutations and roughly 800 KiB total; cushion chunks large bulkDocs batches across multiple atomic commits, which means a very large batch is not atomic as a whole. Batches under ~100 document writes commit in one atomic operation.

Writes within a process are serialised, and cross-process writers are handled with an optimistic versionstamp check and retry (3 attempts). Under sustained contention from many processes a write can fail with a 409 after retries are exhausted.

## Related tools

- [Tailcat](https://linkrena.com/tools/tailcat): like netcat, but over Tailscale's data plane, without Tailscale's control plane - tailscale/tailcat
- [Birthday Video AI](https://linkrena.com/tools/birthday-video-ai): Birthday-first AI video maker for wishes and invitations.
- [ProWritingAid](https://linkrena.com/tools/prowritingaid): Plan, write, edit, and publish with the complete toolkit for storytellers.
- [OpenTIE](https://linkrena.com/tools/opentie): Contribute to elyosh/OpenTIE development by creating an account on GitHub.
- [AppScreenshots](https://linkrena.com/tools/appscreenshots): Create beautiful app screenshots for App Store and Google Play in minutes.
- [Pinpoint](https://linkrena.com/tools/pinpoint): One platform. Three life-safety solutions: wearable staff duress, patient nurse call, and safety checks.
