Shared grocery list monorepo with a React frontend, an Express backend, and PostgreSQL persistence.
Plan, share and tick off groceries together — with live updates, offline support and an installable app.
- Shared lists and invites — create lists, share them with family or flatmates by email invite and see who is on them.
- Fast item entry — add items with optional details (quantity, brand), autocomplete with typo tolerance and a recently used history.
- Icons for every item — icons are suggested locally in your browser, so item text never leaves your device. Pick another icon any time.
- Live updates — changes by other members appear immediately, without reloading.
- Notifications — optional browser push messages when someone adds items to a shared list, batched so they do not spam.
- Works offline — installable PWA that shows your lists without a connection and syncs your changes when you are back online. An expired access session shows a Reconnect action, keeping queued changes.
- English and German — follows your browser language and can be switched in the app.
- Home Assistant and REST API — integrate with an API key; Swagger documentation is served at
/api/docs/on a running instance. - Accounts and security — email verification, password reset, rate limiting and hardened security headers.
Run the app with Docker (needs Docker with Compose support):
cp docker-compose.example.yml docker-compose.yml
# edit docker-compose.yml and replace every "change-me" value
docker compose up -dThen open http://localhost:80. Database migrations run automatically on start. See docs/SETUP.md for configuration, push notifications and production hints.
- Setup — install, configure and operate a deployment (Docker, environment variables, push notifications, Cloudflare, security).
- Development — local development, tests, CI/CD, architecture and the detailed behavior and API reference.
- API docs — Swagger UI at
/api/docs/on a running instance.
This project is vibe-coded with aide, the AI workflow tooling from agentinit.
This project is licensed under the GNU General Public License v3.0.



