Shared grocery list app for a family: your own app, one list, everyone edits everything
Verified · By Eiub.Manybases
This is our own demo; nobody else's story is told here.
TL;DR
- You build a shared grocery list app for a family in one evening with Claude Code: one prompt creates the tables, the pages and the deploy.
- The list works because the
itemstable uses thecollaboratifpreset: "Everyone reads and edits everything." Anyone in the family can add, tick or remove an item. - Each family member has their own login through a single-use invitation link: no shared account, no shared password.
- The site lives at its own
manybases.onlineaddress, already wired to its database, with no ads. - $0 on the Free plan (2 projects, 3 end users per app). A household of 4 or more is Builder, $14.99/month (20 projects, 1,000 end users per app). What it doesn't do today: refresh live while two people tick at once, or send a push.
What will I have at the end?
A web app at its own address on manybases.online. Each person at home has a login. One list (or several: "weekly", "party", "hardware store"), items grouped by aisle, a tick that moves the item to "in the cart", and a "usual items" shelf to re-add the staples in one tap. Anyone can add or tick anything — that is the rule a family list needs, and it comes from one setting, not from code.
Seats: 3 end users per app on Free, 1,000 on Builder (pricing, read 2026-09-18). Two parents and a teenager fit Free; a household with grandparents and a roommate is Builder.
What prompt do I give Claude Code?
Connect the Manybases MCP first (connecting the MCP), then paste this:
Create a Manybases project called "home-list".
Tables:
- lists (id, name, created_at)
- items (id, list_id, name, quantity, aisle, is_done, added_by, done_by, created_at)
- staples (id, name, aisle, default_quantity)
Set all three tables to the `collaboratif` preset: everyone reads and
edits everything.
Build a small web app: the active list grouped by aisle with one-tap
tick, a "staples" shelf that adds an item to the list, and a page to
switch between lists. Ticked items go to the bottom; "clear done"
removes them.
Deploy the site and give me its URL. Then create one invitation link
per family member (start with 2) and give me the links.Claude Code creates the project (create_project), applies the schema (apply_migration), sets the preset (set_table_preset), deploys (deploy_site) and invites (invite_user) — all tools of the Manybases MCP (tool list).
Try it: get the connection snippet for Claude Code or Cursor.
Why collaboratif and not partage or espaces?
The apps in search results handle sharing in two ways. OurGroceries puts the whole household on one account: "You must both sign in to the same OurGroceries account", and creating separate accounts per person "creates two unrelated and unconnected accounts" (ourgroceries.com/faq, read 2026-09-15). Listonic shares a list "in real time, so everyone can work from the latest version" between separate accounts (App Store listing, read 2026-09-15).
On Manybases each person has their own login, and the table decides what they can touch. "Every table carries one preset that says who may list, read, create, update and delete its rows" — eight presets, and "they cannot be misconfigured, and the API applies them to every request" (access presets). For a family list, one fits:
| Preset | Doc wording | What it means for the list |
|---|---|---|
collaboratif | "Everyone reads and edits everything" | Anyone adds, ticks, removes — this is the one |
partage | "Everyone reads everything; each user edits only their own rows" | Only the person who added "milk" could tick it — wrong for groceries, right for a leaderboard |
espaces | "Rows belong to a space; only its members can access them" | Two households in one app, each seeing only its own list |
prive | "Each user only sees their own rows" | A personal wishlist next to the family list |
Same project, another table, another preset: that is how a family app grows.
How does the family join, and how does it work on phones?
Ask the agent for an invitation, or create one from the dashboard. It is a single-use link, valid 7 days, of the form https://<app URL>/i/<token> — "Share it yourself — no e-mail is sent" (inviting users). A seat is consumed at first sign-in, so "inviting ten people on a three-seat app is allowed"; the fourth sign-in on Free gets 402 quota_exceeded. If someone forgets their password, you obtain a single-use reset link, valid one hour, and hand it to them.
Only you, the builder, have a Manybases account. Your family has accounts in your app.
On the phone, today: everyone opens the URL in Safari or Chrome and uses "Add to Home Screen". Two things every app in search results has and this build does not. The list does not update live while someone else is ticking — "No realtime, no websockets" (limitations) — so the page refreshes on load or on a pull. And there is no push notification when a teenager adds "cereal" (pricing). A dedicated way to put your apps on everyone's home screen, with notifications, would come later.
What does it cost, compared with the apps in search results?
| Option | Price | Ads | Sharing | Label and source |
|---|---|---|---|---|
| This app on Manybases Free | $0/month, 2 projects | none | 3 end users per app, separate logins | measured — pricing, read 2026-09-18 |
| This app on Manybases Builder | $14.99/month, 20 projects | none | 1,000 end users per app | measured — same |
| OurGroceries | free with ads; about US$1/month, US$6/year or US$20 lifetime to remove them | yes on free | one shared account for the household | measured — user guide and FAQ, read 2026-09-15 |
| Listonic | free with ads; in-app $0.99–$1.99/month, $10.49–$15.99/year, lifetime up to $19.99 | yes on free | real-time sharing between accounts | measured — App Store listing, read 2026-09-15 |
| AnyList | free; $9.99/year individual or $14.99/year household | — | household plan | reported — Homsy listicle, read 2026-09-15 |
| Bring! | free with ads; $1.99/month or $8.99/year | yes on free | multiple shared lists | reported — same listicle |
| Google Keep / Apple Reminders | free, no ads | none | shared notes and lists (Reminders: Apple only) | reported — same listicle |
Projects on Manybases "never auto-pause for inactivity", so the list you stop using over the summer is still there in September. Egress is "$0. Ever."
How do I make it mine?
- Photos of the label: add a
photo_keycolumn and upload withupload_file— 25 MB max per file, 500 MB total on Free. - Recipes to list: a
recipestable with ingredients, and a button that adds them to the active list. An edge function can do it (100K executions/month on Free); it runs when clicked, not on a schedule. - Budget: an
expensestable withpartage— everyone sees the running total, each person edits only the entries they added. - Ask the agent "what did we buy most in August?" —
query_rowsfrom Claude Code, on your own table. - Leave with your data: Settings → Export gives
dump.sql("restorable in any SQLite"), your files andmanifest.json(export). An export carries at most 40 files today — mind the photos.
When isn't this the right tool?
- You want the list to update on everyone's phone the second it changes: Listonic or OurGroceries.
- You want aisle order learned automatically and store flyers: Listonic, Bring! or Flipp.
- You want a ready-made recipe importer: AnyList.
- You want zero setup, no ads, and everyone already has an iPhone: Apple Reminders.
- Your "family" is more than 1,000 people: a Manybases app has 1,000 end users at most, on Builder or Studio.
- You need Siri, voice adding or a watch app: not what this is; it is a web app at a URL.
Next
- A board where everyone edits only their own rows
- The same idea for a team: an internal tool under 10 seats
- Pricing, plan by plan
Your family, your list, one evening: connect Claude Code to Manybases.
Found an error on this page? Tell us at contact@manybases.com.
