Prototype · v0.1

Meet people
right here,
right now.

QuickMeet turns a bar coaster into a social connector. Scan, register in 60 seconds, and see who's around tonight — no app download, no swiping from your couch.

📱

User experience

Scan a QR coaster, verify your phone, set a status, and connect — all in under 90 seconds.

Interactive flow
⚙️

Admin console

Manage venues, generate QR codes, and track live check-ins across locations from one dashboard.

Dashboard
📐

Product spec

Full spec including personas, data model ERD, system architecture, and MVP scope.

v0.1 spec

User experience

Walk through the full patron journey

📍 The Fox & Anchor · Miami

Scan to meet people here

Point your camera at the coaster QR code

Welcome in 👋
Verify your number to get started
📍 The Fox & Anchor

We'll send a 4-digit code. No passwords, no spam.

Check your texts
Enter the 4-digit code sent to your number
Demo code: 1 2 3 4
Your profile
Quick — 3 fields, you're done.
📸
Take a selfie
😄
The Fox & Anchor
8 people here tonight
● Live
You're visible
Mode: open to pings
🎉
It's a match!
You and Jordan are both interested.
Go say hi — they're near the bar.
💬 Conversation starter
You're both here for a birthday — whose? 🎂
QuickMeet admin

Dashboard

Live overview across all venues

4
Active venues
+1 this week
38
Checked in now
● Live
142
Total users
+23 this week
61
Pings tonight
34% match rate

Venues — tonight

VenueChecked inPingsMatchesStatus
The Fox & Anchor14228Active
Bodega Taqueria11185Active
Lost Boy Dry Goods8146Active
Wynwood Walls Bar572Active

Venues

Manage locations and their QR codes

NameCityQR codesTotal usersStatus
The Fox & AnchorMiami, FL254Active
Bodega TaqueriaMiami, FL141Active
Lost Boy Dry GoodsMiami, FL329Active
Wynwood Walls BarMiami, FL118Inactive

QR codes

Generate and manage venue check-in codes

Generate new QR code

All active codes

VenueLabelTypeScansStatus
The Fox & AnchorMain entrancePermanent54Active
The Fox & AnchorFriday Night SocialEvent22Active
Bodega TaqueriaMain entrancePermanent41Active
Lost Boy Dry GoodsBack patioPermanent18Inactive

Users

All registered users across venues

NamePhoneSessionsLast seenProfile
Alex R.+1 (305) 555-01924Tonight · Fox & AnchorComplete
Jordan K.+1 (786) 555-00417Tonight · BodegaComplete
Sam T.+1 (305) 555-08871Tonight · Fox & AnchorBasic
Morgan L.+1 (786) 555-033422 days agoBasic
Casey B.+1 (305) 555-052112Tonight · Lost BoyComplete

Live feed

Real-time events across all venues

Live events
QuickMeet — Product Spec
📄 Version 0.1 📅 2025 🔧 Prototype phase 👤 2 personas
1. Overview

QuickMeet is a venue-anchored social discovery tool. A QR code on a bar coaster opens a mobile web experience — no app download required. Users register with a phone number, build a minimal profile, set a visibility status, and can see who else is checked in at the same location right now. The core design principle is that the app facilitates in-person connection; it does not replace it. Matching, pinging, and contact exchange are nudges toward a conversation, not a substitute for one.

2. Personas
⚙️

Admin (operator)

  • Create and manage venues / locations
  • Generate QR codes (permanent or event-scoped)
  • Assign QR codes to a venue or specific event
  • Edit or deactivate existing QR codes
  • View live check-ins per venue
  • Track users over time by session history
📱

User (bar patron)

  • Scan QR code to arrive at venue-context web page
  • Register via phone number + SMS OTP
  • Enter first name, selfie, and tagline
  • Set visibility mode (open / browsing / hidden)
  • Browse others currently checked in
  • Send or receive a ping
  • Bump to exchange contact info
  • Complete profile later (persistent account)
3. User flow
1
Scan QR code Opens quickmeet.app/join?code=abc123 — venue context auto-resolved
MVP
2
Phone verification (OTP) Enter number → receive SMS → enter 4-digit code → session created
MVP
3
Profile setup (new users) First name + selfie + tagline. Returning users skip directly to step 4.
MVP
4
Set visibility mode Open to pings / Just browsing (visible, no pings) / Hidden
MVP
5
Browse active users at venue See name, photo, tagline, and visibility mode. Go say hi directly, or ping.
MVP
6
Ping (optional) Mutual ping = match revealed + conversation starter generated
MVP
7
Bump to exchange contact Both tap within 30-second window → phone numbers or handles shared
MVP
8
Check-out Manual tap, or auto after 3 hrs of inactivity. Profile disappears from venue board.
MVP
9
Profile completion (deferred) Post-session prompt to add last name, social handles, bio. Phone number = persistent identity.
v2
4. System architecture

Three layers: client (mobile PWA + admin web), backend services, and data. The physical QR code is the only entry point — it encodes a URL that pre-loads venue context, eliminating any manual location selection.

QuickMeet system architecture Three-layer architecture: client, backend services, data layer CLIENT BACKEND DATA User browser Mobile web (PWA) Admin dashboard Web app QR code Physical coaster scan API gateway Auth + routing Auth service SMS OTP + sessions Venue service Locations + QR User service Profiles + check-ins Ping service Matches + notifs PostgreSQL Primary store Redis Sessions + presence Object storage Profile photos WebSocket / SSE SMS gateway (Twilio)

The QR code encodes a URL like quickmeet.app/join?code=abc123. The code token maps to a QR_CODES record. Redis stores real-time presence per venue as a sorted set. PostgreSQL is the source of truth; Redis is the fast read layer for "who is currently here."

5. Data model (ERD)

9 entities. Key design decisions: phone number is the durable identity anchor — a USERS record persists forever across sessions. CHECK_INS has a visibility_mode field (per-session, not per-user). PINGS are directional with a status lifecycle. CONTACT_BUMPS requires both parties to act within a time window.

6. Schema updates (v0.1 → v0.1.1)

Two changes made based on product decisions:

TableFieldChangeValues
CHECK_INS visibility_mode New field — per-session, not per-user visible_open · visible_browsing · hidden
USERS last_name New nullable field String, null until user fills in
USERS instagram_handle New nullable field String, null until user fills in
USERS profile_complete New boolean, defaults false true when all optional fields filled
7. MVP scope
FeatureScopeNotes
QR scan → mobile webMVPNo app download. URL-encoded venue context.
Phone OTP registrationMVPVia Twilio or equivalent. 10-min expiry, one-time use.
Profile setup (name, photo, tagline)MVPUnder 60s. Returning users skip.
Visibility mode toggleMVP3 modes: open / browsing / hidden. Per-session.
Browse active users at venueMVPReal-time list. Shows mode badge on each card.
Ping + mutual matchMVPAnonymous ping, mutual reveal on match.
Bump (contact exchange)MVP30-second mutual window.
Manual check-outMVPAuto after 3hr inactivity.
Admin: venues + QR codesMVPPermanent codes only at launch.
Event-scoped QR codesv2time-bound codes with valid_from/until.
Analytics dashboardv2Per-venue stats for venue operators.
Profile completion flowv2Post-bump prompt to enrich profile.
Conversation starter AIv2Generate icebreakers from shared profile data.
"Buy them a drink" via POSv2Requires POS integration. Tier 3 revenue model.