Veil
Date human, not AI. A privacy-first dating product built on verified humanness, avatar-based matching, and mutual-consent photo reveal. Live today as a landing site and waitlist; the verification and matching engine is designed across a four-phase roadmap.
The problem
Modern dating is overrun with bots, catfishing, and looks-first matching, on platforms tuned for engagement over connection. Veil verifies you're human, hides identity behind an avatar until both sides consent to reveal, and matches on values rather than appearance.
Mutual-consent reveal
Identity stays masked until both sides opt in (state 00 → 11). Toggle both to walk the gate. Conceptual UI.
Blind match: state 00
Both people appear as verified avatars with stat badges. No real faces. Connection forms through conversation alone.
state 00One side clicks Reveal
Consent is recorded and that side's photo key is marked for conditional unlock. State becomes 10.
The other is notified
Keys exchanged on mutual consent
Identities locked in
Architecture
- Live today: a Next.js 16 landing site (Framer Motion, a markdown blog via remark-html, and full SEO/structured data) backed by a Supabase waitlist with row-level security set write-only from the client, email-only signup, a remaining-spots counter against a 100-seat early-access target, and localStorage 'already joined' state
- The product itself is designed and sequenced as a four-phase public roadmap (Gatekeeper verification → graph matching → reveal state machine + chat → mobile app); the items below are designed, not yet built
- Designed: Gatekeeper verification (phase 1), an AI liveness and uniqueness check from a video selfie that produces a SkinHash (MediaPipe somatotype + dermatological hashing) without storing facial biometrics, so duplicates can't re-enter
- Designed: logic-first matching (phase 2), a graph engine that honours hard dealbreakers absolutely (a non-smoker never sees a smoker) and weights compatibility instead of engagement-driven ranking
- Designed: mutual-consent reveal (phase 3), a four-state gate (00 → 11) where end-to-end-encrypted photos unlock only after both sides opt in, with avatars and verified stat badges standing in during the blind-match phase, plus WebSocket chat and Safe-Zone date coordination
Highlights
Verified human, not surveilled (by design)
The planned Gatekeeper proves a real person from a video selfie and hashes the proof into a SkinHash, without storing facial data, so bots and catfish can't get in.
Mutual-consent reveal (by design)
Encrypted photos are designed to stay hidden until both sides opt in; if one declines, the match stays anonymous. Privacy is the default, not a setting.
Shipped: the front door
What's live today is a Next.js marketing site with a markdown blog, SEO, and a Supabase waitlist (write-only RLS, remaining-spots counter): the front door while the engine gets built.
Impact
Live
Landing site + Supabase waitlist shipped; verification and matching engine designed, not yet built
100
Early-access seats the live waitlist counts down to
4
Product phases on the public roadmap, starting with Gatekeeper verification