CouchDB Digest — December ’25 + January ’26 Omnibus 

Hello and welcome to 2026 and the first CouchDB Digest of the year! This is a bumper edition that includes December’s highlights too. First things first: have you taken part in the 2025–2026 Annual Apache CouchDB User Survey? Share it far and wide: we can’t wait to hear from you!

This month there’s also a very special update about CouchDB’s sibling technology:

Count yourself among the amazing volunteer team that brings PouchDB to the world, and join the bi-weekly triage sessions to help prune, prioritise and work through the PouchDB backlog! 

It all happens in the #pouchdb channel in the CouchDB community Slack — come participate:

  • February 9, 2026 from 8-9am UTC
  • February 16, 2026 from 3-4pm UTC
  • March 2, 2026 from 8-9am UTC

In the last active session, contributors closed 15 issues and 3 PRs! 🙌 

These are the biggest updates in the CouchDB community. Read on for a video-packed edition that covers why local first is the future and where CouchDB fits in, plus setup tutorials, deployment options and more.

Blog Articles

  • Local-first home assistants demonstrate the benefits of skipping the cloud, and Andrea Griffiths explains why local first is the future of software [Andrea Griffiths on Github Blog]
  • Steven Deobald introduces the local first spectrum and why FOSS is the natural fit when it comes to owning your own data [Steven Deobald]

Videos

  • Recordings from the 2026 edition of Sync Conf are up! Topics include conflicts, sync engines, persistence and more [Local-First Conf on YouTube]

Tools

Thank you for keeping up with the CouchDB ecosystem; see you here next month!

Automated Fishing Reports: The Charter & Haul App with Offline Sync

During the course of 2019, New Zealand rolled out an electronic catch and position reporting requirement for commercial fishing vessels and later amateur charter vessels to report the day’s journey and haul. For the Ministry for Primary Industries it’s an important way to keep up with quotas, but doing it on paper is both time consuming and easy to mix up. By reducing error-prone manual submissions, automation has helped the ministry make better informed decisions around fishing sustainability and monitoring.

Martin Junek developed eCatch in 2018, in anticipation of the rollout. eCatch is now contracted by Fisheries New Zealand to provide tools for both commercial and amateur fishing vessels. 
Read on to learn how using CouchDB’s replication protocol means eCatch automates reporting even when vessels drift out of network coverage.

Which of CouchDB’s distinct features have been essential to you achieving your goal(s)?

How did you hear about CouchDB, and why did you choose to use it?

I had used CouchDB in another project before. We needed a database that is easy to sync with a mobile app, easy to host in Docker and that we have complete control over. Cost was also a major consideration for a starting business.

Did you have a specific problem that CouchDB solved?

I wanted to create an offline-first app that syncs to a CouchDB: collecting data offline and syncing them to a central CouchDB when the device comes online again.

CouchDB’s _changes feed feature plays a big role in eCatch: 

  • We collect the data that is synchronised to CouchDB. Then there’s a service that waits for anything new to appear in the database, and sends it off to the Ministry for Primary Industries via their API. So, we basically listen to the changes feed on the global database and that tells us there’s a new document in the database.
  • We also have a Postgres database, and whatever lands in CouchDB gets sent off to Postgres where it’s easier for us to query. 

For the folks who are unsure of how they could use CouchDB — because there are a lot of databases out there — could you explain the use case?

We needed an app that collects data offline (electronic catch reporting for commercial fishing vessels) and then syncs the data with a central database. 

An important requirement is the ability to separate data for each device/user, so there is no chance of accidental data leak. The data the app collects is considered sensitive. 

What would you say is the top benefit of using CouchDB?

Definitely the sync feature that works out-of-the-box. Easy to host and maintain — it has been very stable the whole time. Also listening for the _changes feed to handle new data, which is then integrated to 3rd party systems.

It’s a common problem with SAAS apps that a bug in the code can expose somebody else’s data. CouchDB solves that just because there’s a different database for every user. So I don’t have to worry about that much, which is a big plus.

What additional tools are you using in your infrastructure? Have you discovered anything that pairs well with CouchDB?

Docker for hosting, as well as PostgreSQL. We feed all data into Postgres for easier querying/data analysis. We also use PouchDB in React Native; this requires a 3rd party adapter, which is a missing link in the CouchDB/PouchDB ecosystem. It’s one of my biggest concerns that the author stops maintaining it. 

What are your future plans with your project? Any cool plans or developments you want to promote?

We’d like to expand the app into other areas of the industry.

If you’re curious, visit eCatch in the Google Play and App store to get an idea of how users interact with it:

Thank you, Martin, for giving us a behind-the-scenes look at eCatch and how it helps New Zealand’s seas. We wish you happy surfing!

Use cases are a great avenue for sharing useful technical information — let us know how you use CouchDB. Additionally, if there’s something you’d like to see covered on the CouchDB blog, we would love to accommodate. Email us!

For more about CouchDB visit couchdb.apache.org or follow us on Mastodon: @couchdb@fosstodon.org