-
-
Notifications
You must be signed in to change notification settings - Fork 1
Bring
Two-way sync between Kinboard's shopping list and the Bring! mobile app, so the kitchen-wall list stays in sync with what someone updates from the supermarket.

TODO: shot showing the Bring sync indicator badge in the page header
- Logs into your Bring! account with email + password
- Lists your Bring! lists; you pick the active one
- Auto-syncs every 2 minutes (configurable)
- Two-way: items added in Kinboard appear in Bring!, and vice versa
- Optionally syncs Bring's category labels back into Kinboard
- Doesn't sync multiple Bring! lists at once — one active list per family
- No real-time sync (poll-based)
- Doesn't sync the recipe-list integration that Bring! has
- Open Settings → Bring!
- Click Sign in
- Enter your Bring! email + password
- Sign in
Credentials are stored encrypted in settings.value (bring_settings). Only the server side decrypts them when posting to the Bring! API.
TODO: screenshot of /settings/bring sign-in dialog
After connect, the dropdown shows all your Bring! lists. Pick one — that becomes Kinboard's primary shopping list.
TODO: screenshot of /settings/bring with list selector
| Toggle | What |
|---|---|
| Auto sync | Poll Bring! every 2 minutes (default on) |
| Two-way sync | Push Kinboard changes back to Bring! (default on; turn off for one-way "Kinboard mirrors Bring!" mode) |
| Sync categories | Adopt Bring's category names instead of Kinboard's auto-detected ones (default on) |
The sync algorithm is "last write wins" per item:
- An item exists in both → the one with the later modification timestamp wins
- An item only on Bring! → added to Kinboard
- An item only in Kinboard → pushed to Bring!
- An item completed in one → marked completed in the other
In practice this just works for shopping lists — collisions are rare and benign.
Settings → Bring! → Disconnect. Local shopping list stays; just stops syncing.
| Symptom | Likely cause |
|---|---|
| Login failed | Bring! sometimes rate-limits credential checks; wait 5 min |
| Sync runs but new items don't appear | The active list ID is stale (you deleted it in Bring!). Re-pick the list. |
| Categories show in German when I switched to English | The category names from Bring! are German because that's what Bring! sent. Disable Sync categories to use Kinboard's localized auto-detection. |
Kinboard's quantity (2 × Apples) shows as 2x Apples in Bring! |
Bring's freeform specification field doesn't have a separate quantity. Kinboard packs quantity + unit + name into the name on push. |
-
Themes-and-Locales — shopping category labels live under
shoppingCategoriesinmessages/{en,de}.json - See
webapp/src/lib/shopping-categories.tsfor the keyword auto-detection
Kinboard on GitHub · Sponsor · Buy me a coffee · Report a bug · MIT-licensed
Getting started
Operations
Integrations
Kiosk hardware
Built-in features
- Dashboard
- Calendar
- Shopping
- Recipes & meal planning
- Tasks & todos
- Notes
- Birthdays
- School schedule
- Smart home & energy
- Screensaver
- Family members
- Devices
- Notifications
- Themes
Plugins (per-family on/off)
Contributing