No accounts. Actually none.
There is no signup, no login, no password, no email. The name and emoji you pick live in your browser's local storage, on your device. Clear your browser and you're a mystery friend again — that's a feature.
What we store
When you or your friends use a goal page, we keep what it needs to work: the claim text, deadline, category, the names people typed, comments, emoji reactions, jury votes, any progress pic the creator uploads, and a daily view counter per goal.
Live 'watching' presence and the floating reactions are ephemeral — they pass through and are never written to a database.
Who can see it
Anyone with a goal's link can see everything on that page. That's the whole product — the link is the invite. Links are long random strings, so goals can't be guessed or browsed, but treat the link like the group chat it lives in.
What we don't do
No ads, no trackers, no analytics scripts, no selling anything to anyone. The view counter is a number on the page, not a profile of you.
Catching crashes
To fix what breaks, we use Sentry (error monitoring). When something errors, it records the error and a stack trace — never your name, your comments, or the goal's link; those are stripped before anything leaves. It's crash reports, not analytics: still no ads, no trackers, no profile of you.
Where it lives
Data is hosted on Supabase (Postgres + storage). Uploaded pics are resized on your device before upload and stored in a public bucket — don't upload anything you wouldn't drop in the group chat.
Want something gone?
Since there are no accounts, there's no self-serve delete yet. Reach out through the project's GitHub and we'll remove a goal or an image.