Why a web app first
Web first means no app-store review at launch, and invite links open instantly for people who are not members yet. A plan with open seats can be shared as a link that a non-member can open, which is how the product spreads.
What it never does
The app shows approximate locations only; the exact spot appears to confirmed attendees. It has no swipe deck and no "see who liked you". Safety tools sit one tap away on every plan and every chat.
What it talks to
- API on Cloudflare Workers: One API for the whole product. It checks who the member is and what they may see, then calls the right module.
- Chat and rooms: Keeps live state for one-to-one and group chats, plan rooms and the voice speed-meet queue: who is in, whose turn, how long is left.
- Voice rooms: Carries the audio for voice speed-meets: short rounds between two verified members.
- Identity verification: Checks liveness, ID and a face match once per member and returns a result.
Designed for
- No infinite feed and no autoplay: the app pushes toward plans, not scrolling
- Works at phone width and with a keyboard
- Invite-only at launch, so growth is paced
Where it appears in a request
- A photo upload: The member picks a photo. The app uploads it straight to storage with a short-lived signed link.
- A report against a member: The member taps report and picks a reason. They can block at the same time.
- A voice speed-meet: The member joins a speed-meet for their interest cohort. Only verified members can.