A collaborative recipe keeper, meal planner, and shopping list organizer, delivered as a PWA that works offline and syncs across devices.
PanSalut/Koffan
Self-hosted shared grocery shopping list web app for families and households, with real-time sync and offline mode.
Open-source alternative to:AnyList
Google Keep
- Stars
- 825
- Forks
- 85
- Open issues
- 50
- Last commit
- 22 days ago
What is it?
Koffan is a lightweight web application for managing shopping lists together. Several people can edit the same lists from different devices, and changes sync in real time over WebSocket so everyone can see what is still needed and what is already in the cart.
It runs in any browser on mobile or desktop and can be installed as a PWA. Lists can be split into sections such as dairy or cleaning, products can be marked as purchased or uncertain, and autocomplete suggests items from earlier history. Lists can be created, edited and checked off offline, and pending changes sync when the connection returns.
By default it uses a single shared password. Setting MULTI_USER=true enables personal accounts and separate workspaces, so several households can share one server. The Go backend uses SQLite for storage, and the project provides a REST API and signed outbound webhooks for integrations.
Key features
- 01Real-time sync of shared lists across devices via WebSocket
- 02Offline creation and editing with automatic sync on reconnect
- 03Sections, custom list icons and multiple lists
- 04Auto-completion based on purchase history
- 05Optional personal accounts and separate workspaces
- 06REST API and signed outbound webhooks
Use cases
- A couple or family building one shared grocery list from separate phones
- Sharing one self-hosted server between several households with separate lists
- Syncing shopping items into automation tools such as n8n or Zapier via webhooks
- Using the list offline inside a store with poor signal
Quick start
- 1
Start Koffan with Docker using the README quick start command
docker run -d -p 3000:8080 -e APP_PASSWORD=yourpassword -v koffan-data:/data ghcr.io/pansalut/koffan:latest - 2
Open http://localhost:3000 in your browser and sign in with your password
Things to know
- The README does not state a clear open-source license, so check the repository's license terms before reuse.
- Offline support requires serving Koffan over HTTPS, since plain HTTP on a home network does not provide it.
- Upgrading to 2.16.0 migrates the database with no downgrade path, so back up your database first.
In collections
Topics
FAQ
- What is Koffan?
- Self-hosted shared grocery shopping list web app for families and households, with real-time sync and offline mode. Koffan is a lightweight web application for managing shopping lists together. Several people can edit the same lists from different devices, and changes sync in real time over WebSocket so everyone can see what is still needed and what is already in the cart.
- Is Koffan free to use? What license does it have?
- Koffan is open source under the Other license. Check the license terms before using it in commercial products.
- Is Koffan still maintained?
- Actively maintained. The last commit to Koffan was on Oct 16, 2026.
- What can I use Koffan for?
- A couple or family building one shared grocery list from separate phones Sharing one self-hosted server between several households with separate lists Syncing shopping items into automation tools such as n8n or Zapier via webhooks Using the list offline inside a store with poor signal
- How do I install Koffan?
- Start Koffan with Docker using the README quick start command: docker run -d -p 3000:8080 -e APP_PASSWORD=yourpassword -v koffan-data:/data ghcr.io/pansalut/koffan:latest Open http://localhost:3000 in your browser and sign in with your password
- Where can I get Koffan?
- The source code and installation instructions are on GitHub: https://github.com/PanSalut/Koffan
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted, privacy-first note-taking app built with SvelteKit, offered as an alternative to Google Keep.
Self-hosted web app for managing groceries, stock, shopping lists, meal plans and household chores, built on PHP and SQLite.
A self-hosted subscription tracker built with Go and HTMX for monitoring recurring costs, renewal dates and spending.
A self-hosted personal and family travel organizer for collecting trip itineraries, bookings and documents in one place, shared between multiple people.
Offline companion app that pairs with WHOOP 4.0 and 5.0 straps over Bluetooth and keeps all biometric data on your own device.