2025-07-27
2025-07-27

One of the most frequent and practical uses for note-taking tools in our daily life is managing a shared grocery list. I like to keep and update the list with Selma — often simultaneously, while one of us is already in the store.

Over time, we tried several approaches to make this work smoothly, especially with self-hosted tools. We first used classical note-taking apps like:

  • Joplin — which I already self-host
  • AppFlowy — a promising local-first Notion alternative

Unfortunately, we ran into sync issues with both. Items would go missing, checkboxes wouldn’t update correctly, or changes wouldn’t appear on the other person’s device in real-time. It became clear we needed something more tailored for real-time, shared editing.

Eventually, we settled on a tool called specifically clementines (previously named grocies). It's a minimalist web app designed exactly for this use case — keeping a shared, synced grocery list.

Technically, specifically clementines is built on CouchDB, a document-oriented NoSQL database that supports multi-master replication. This means changes from multiple clients can be merged automatically — ideal for shared lists edited from different locations and devices at the same time. It also makes offline-first usage possible.

Setting it up was a bit involved: in my case, it needed three dedicated subdomains (for the app backend, frontend and CouchDB), but once deployed, it has worked as expected.

If you're also looking for a reliable, real-time shared list app and don't mind a little self-hosting work, I can highly recommend giving it a try.