Habit tracker with friends: your own app, one board, everyone edits only their own rows
Verified · By Eiub.Manybases
This is our own demo; nobody else's story is told here.
TL;DR
- You build a habit tracker with friends in one evening with Claude Code: one prompt creates the tables, the pages and the deploy.
- The leaderboard works because the
checkinstable uses thepartagepreset: "Everyone reads everything; each user edits only their own rows." - Friends join through a single-use invitation link you share yourself; no e-mail is sent by us.
- The site lives at its own
manybases.onlineaddress, already wired to its database, with no key to copy. - $0 on the Free plan (2 projects, 3 end users per app). A group of 4 to 1,000 is Builder, $14.99/month (20 projects).
What will I have at the end?
A web app at its own address on manybases.online. Each friend has a login. A list of habits, a daily check-in per habit, a board with every member's streak for the week and the month. Nobody can tick a box for someone else or quietly delete a friend's check-in — and that comes from one setting, not from code you write.
Seats: 3 end users per app on Free, 1,000 on Builder (pricing, read 2026-09-18). A group of three fits Free; a group of eight 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 "habit-crew".
Tables:
- habits (id, name, emoji, cadence, owner_user, created_at)
- checkins (id, habit_id, user_id, done_on, note, created_at)
Set both tables to the `partage` preset: everyone reads everything,
each user edits only their own rows.
Build a small web app: my habits with a one-tap check-in for today,
a "crew" board with each member's current streak per habit, and a
monthly view. Streaks are computed from checkins, not stored.
Deploy the site and give me its URL. Then create one invitation link
per friend (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 partage and not collaboratif or prive?
The habit apps in search results all solve the same trust problem: your friends should see your progress and not be able to touch it. HabitShare lets you control "for each friend, which of your habits they can see" (habitshareapp.com, read 2026-09-13, reported); Habit Huddle ranks "every huddle on the platform" by a shared check-in chain (habithuddle.com, read 2026-09-13, reported). Built by hand, that is a set of row-level policies to write and test.
Manybases replaces hand-written policies with access presets: "Every table carries one preset that says who may list, read, create, update and delete its rows" — eight of them, and "they cannot be misconfigured, and the API applies them to every request" (access presets). Three fit a habit tracker; only one fits a leaderboard:
| Preset | Doc wording | What it means for the board |
|---|---|---|
partage | "Everyone reads everything; each user edits only their own rows" | The board shows all check-ins; you can only tick your own — this is the one |
collaboratif | "Everyone reads and edits everything" | Anyone could fix (or fake) a friend's streak — wrong for a leaderboard, right for a shared family list |
prive | "Each user only sees their own rows" | No board at all: a solo tracker |
Want a private "why I'm doing this" journal next to the shared board? Add a reflections table with prive. Same project, second table, different preset.
How do my friends join?
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 friends have accounts in your app.
How do I put it online — and on phones?
deploy_site pushes the build, and Manybases serves it on manybases.online. "A site can carry no code, no key and no binding": every call it makes to its project's API is a cross-origin request (data isolation). Prefer a repository? Install the Manybases GitHub App, link the repo with link_repo, copy one workflow file, push on main (deploying from GitHub). Your own domain: not available today (pricing).
On the phone, today: your friends open the URL in Safari or Chrome and use "Add to Home Screen". Reminders are the thing every app in search results has and this build does not: there are no push notifications and no scheduled tasks today (limitations, pricing). A dedicated way to put your apps on everyone's home screen, with notifications, would come later. Until then, the group chat is the reminder.
What does it cost, compared with the apps in search results?
| Option | Price | Users | Label and source |
|---|---|---|---|
| This app on Manybases Free | $0/month | 3 end users per app | measured — pricing, read 2026-09-18 |
| This app on Manybases Builder | $14.99/month, 20 projects | 1,000 end users per app | measured — same |
| HabitShare | "100% free" | groups | reported — habitshareapp.com, read 2026-09-13 |
| Habit Huddle | "Free to start", premium not priced on the landing page | huddles | reported — habithuddle.com, read 2026-09-13 |
| Habitica | free, optional $4.99/month | parties | reported — a Medium listicle, read 2026-09-13 |
| Streaks | $6.99 one-time | solo, iOS | reported — same listicle |
Projects on Manybases "never auto-pause for inactivity", so a tracker the group abandons in March and restarts in September is still there. Egress is "$0. Ever."
How do I make it mine?
- Photo proof: add a
photo_urlcolumn tocheckinsand upload withupload_file— 25 MB max per file, 500 MB total on Free. - Weekly recap: an edge function that computes streaks and the week's ranking, run from a button (100K executions/month on Free). It does not run by itself: no scheduled tasks today.
- Stakes: a
betstable withpartage— everyone sees the wager, only the author edits it. - Leaving with your data: Settings → Export gives a ZIP with
dump.sql("restorable in any SQLite"), your files and amanifest.json, with presets and table names kept (export). An export carries at most 40 files today — mind the photos.
When isn't this the right tool?
- You want reminders on your phone today: HabitShare or Habit Huddle.
- You want a finished app with GIF comments and a public leaderboard across strangers: Habit Huddle.
- You want gamified RPG mechanics: Habitica.
- Your group is bigger than 1,000: that is the most end users an app can have on any plan.
- You want the board to update live while everyone taps at once: no realtime today; the page refreshes on load.
- You need an Android or iOS store listing: not what this is; it is a web app at a URL.
Next
Your crew, your rules, one evening: connect Claude Code to Manybases.
Found an error on this page? Tell us at contact@manybases.com.
