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.
Scan a QR coaster, verify your phone, set a status, and connect — all in under 90 seconds.
Interactive flowManage venues, generate QR codes, and track live check-ins across locations from one dashboard.
DashboardFull spec including personas, data model ERD, system architecture, and MVP scope.
v0.1 specWalk through the full patron journey
Point your camera at the coaster QR code
We'll send a 4-digit code. No passwords, no spam.
Live overview across all venues
| Venue | Checked in | Pings | Matches | Status |
|---|---|---|---|---|
| The Fox & Anchor | 14 | 22 | 8 | Active |
| Bodega Taqueria | 11 | 18 | 5 | Active |
| Lost Boy Dry Goods | 8 | 14 | 6 | Active |
| Wynwood Walls Bar | 5 | 7 | 2 | Active |
Manage locations and their QR codes
| Name | City | QR codes | Total users | Status | |
|---|---|---|---|---|---|
| The Fox & Anchor | Miami, FL | 2 | 54 | Active | |
| Bodega Taqueria | Miami, FL | 1 | 41 | Active | |
| Lost Boy Dry Goods | Miami, FL | 3 | 29 | Active | |
| Wynwood Walls Bar | Miami, FL | 1 | 18 | Inactive |
Generate and manage venue check-in codes
| Venue | Label | Type | Scans | Status |
|---|---|---|---|---|
| The Fox & Anchor | Main entrance | Permanent | 54 | Active |
| The Fox & Anchor | Friday Night Social | Event | 22 | Active |
| Bodega Taqueria | Main entrance | Permanent | 41 | Active |
| Lost Boy Dry Goods | Back patio | Permanent | 18 | Inactive |
All registered users across venues
| Name | Phone | Sessions | Last seen | Profile |
|---|---|---|---|---|
| Alex R. | +1 (305) 555-0192 | 4 | Tonight · Fox & Anchor | Complete |
| Jordan K. | +1 (786) 555-0041 | 7 | Tonight · Bodega | Complete |
| Sam T. | +1 (305) 555-0887 | 1 | Tonight · Fox & Anchor | Basic |
| Morgan L. | +1 (786) 555-0334 | 2 | 2 days ago | Basic |
| Casey B. | +1 (305) 555-0521 | 12 | Tonight · Lost Boy | Complete |
Real-time events across all venues
Time-scoped QuickMeet nights — each event gets its own QR code and attribution
| Event | Venue | Date | QR code | Check-ins | Status |
|---|---|---|---|---|---|
| Friday Night Social Themed singles night |
The Fox & Anchor | Apr 30, 2026 · 8pm–1am | ev-fox-fri |
22 | Active |
| Singles Mixer Cross-venue |
Bodega Taqueria | May 7, 2026 · 7pm–11pm | ev-bod-sgl |
— | Scheduled |
| Industry Night Recurring Mondays |
Lost Boy Dry Goods | Recurring · Mondays | ev-lost-ind |
74 (lifetime) | Active |
Manage affiliate accounts, performance, and payouts
| Name | Role | Primary venue | Scans (30d) | Conv. | Earned | Status |
|---|---|---|---|---|---|---|
| Maria Sanchez @maria_pours | Bartender | The Fox & Anchor | 348 | 62 | $96.80 | Active |
| Devon Pierre | Promoter | Wynwood circuit | 286 | 51 | $79.40 | Active |
| @elenanightout | Influencer | — | 241 | 44 | $68.20 | Active |
| Luca Romano | Bouncer | Bodega Taqueria | 118 | 14 | $22.40 | Active |
| Priya N. | Server | Lost Boy Dry Goods | 62 | 5 | $8.10 | Pending |
Projected and actual revenue by stream and venue
| Venue | Premium conversions | User revenue | Subscription tier | Sub revenue | Total |
|---|---|---|---|---|---|
| The Fox & Anchor | 78 | $233.20 | Insights ($99) | $99 | $332.20 |
| Bodega Taqueria | 54 | $161.40 | Insights ($99) | $99 | $260.40 |
| Lost Boy Dry Goods | 41 | $122.60 | Pro ($249) | $249 | $371.60 |
| Wynwood Walls Bar | 22 | $65.80 | Free | $0 | $65.80 |
| Drink commission (pilot) | — | — | — | $147 (test) | $147.00 |
Preview of what a bar owner sees during the onboarding conversation
QuickMeet turns your coasters into a social discovery layer. Patrons stay longer, order more, and leave with a story. We print the coasters, we handle the tech, and your patrons never leave the venue.
A redacted preview of the report a Tier 2 venue gets each Monday — based on real data from a similar pilot venue.
Full report includes peak-hour heatmap, demographic breakdown (anonymized), and top conversion-driving QR positions.
We'll print 50 coasters, set up your venue in the dashboard, and run a pilot night within 7 days.
Bartenders, bouncers, promoters, and influencers — every QR scan and premium sign-up tied to your code earns you a 20% cut. Sign up in 90 seconds, get a unique trackable link and QR coaster sticker, and track earnings in real time.
Tell us who you are and where you work. We'll generate your code and ship you stickers within 48 hours.
| Period | Conversions | Earned | Status |
|---|---|---|---|
| Mar 2026 | 54 | $96.80 | Paid |
| Feb 2026 | 41 | $73.50 | Paid |
| Jan 2026 | 28 | $52.10 | Paid |
Affiliates can work multiple venues. Each gets its own attribution.
Top 3 in your city this month. Top 5 each month earn the "QuickMeet Ambassador" badge and a 25% rev-share tier.
QuickMeet turns the most universal piece of bar furniture into a social network. Patrons scan, see who else is open to meeting right now, and connect in person — no app install, no swiping from the couch. We monetize across four phases, each with its own distribution path, while keeping the core experience free for users and venues.
Four personas across both sides of the marketplace. Each is a distinct distribution channel and a distinct revenue path.
21–35 nightlife and travel demographic. Singles, friend groups, solo travelers, networkers, regulars.
Bars, lounges, hotels, rooftops, fitness studios, conferences, co-working spaces, cruise lines, resorts.
Bartenders, bouncers, promoters, micro-influencers. Each gets a tracked QR / link.
Venue staff (non-affiliate), group ringleaders, brand sponsors (future), regulators, the QuickMeet ops team.
Charge nothing at launch, then layer monetization where the data justifies it. Every phase has its own distribution path because the right channel changes as the product matures.
Goal: prove the concept and generate engagement data. No charges to either side.
Premium: see-who-pinged, spotlight, multi-venue, extended profile, ping history. Core stays free.
Tier 2 Insights ($99) and Tier 3 Pro ($249). Free tier remains the funnel into paid.
15–20% commission on "buy them a drink" transactions, plus tables, group rounds, and event tickets.
A representative night at one venue, illustrating how 200 walk-ins translate into measurable revenue.
The product never charges for the core experience. Monetization layers on as the network gets denser and the data gets more valuable.
| Who | What they pay for | When it starts | Channel |
|---|---|---|---|
| Users (free) | Nothing — full core experience | Always | QR scan, in-venue |
| Users (premium) | Spotlight · see-who-pinged · multi-venue · ping history | Month 3 | Self-serve in-app |
| Venues (free) | Nothing — coasters + check-in count | Always | Founder & ambassador outreach |
| Venues (paid) | Analytics, promotions, branding, events | Month 6 | Direct sales after free trial data |
| Affiliates | Nothing — they earn 20% revenue share | Month 3 | Self-serve sign-up portal |
| Transactions | 15–20% commission on drinks & tables | Month 12+ | POS partner integrations |
Once the core bar experience is proven, the same technology unlocks high-leverage partner verticals. Cruises and resorts are particularly attractive: closed environments, captive users, motivated operators.
Themed sailings (singles weekend, 30-something cruise, LGBTQ+, industry conferences-at-sea) and standard cruises. Per-sailing license model — every passenger is a captive potential user for 3–10 days.
Same closed-environment economics as cruises. Natural follow-on after the first cruise contracts close.
Travelers looking to meet locals or other travelers. Lobby + rooftop QR placements. Higher willingness to pay than locals.
Event-scoped QR codes already on the v2 spec. Strangers actively trying to find each other in a crowd.
Networking and "open to a chat?" use cases. Same product, different framing.
Post-class social, conference badges replaced with real connections. Specific QR placement strategies per vertical.
Stacked composition by stream. Premium dominates first; venue subscriptions and transactions enter mid-year.
Live list of unresolved business-model decisions. Source of truth: QuickMeet-Business-Growth-Model.md §11.
Pro-charge: predictable B2B recurring revenue, analytics is a real product. Pro-free: every venue we don't onboard is a venue we don't have data from. Default for now is "free for venues, revisit at month 6 with real engagement data."
OpenWorking principle: never gate the core experience. Specifically OK as premium: see who pinged you before responding (anonymity controls) and nearby events / multi-venue info. Other candidates being scoped: spotlight mode, extended profile, ping history.
Working principle adoptedPer-passenger license, flat per-sailing fee, or revenue share on premium? Likely flat per-sailing fee with bundled premium for that sailing.
Open$10–20/night flat during the first 4 weeks at each launch venue, then transition to pure affiliate. Risk: hard to walk back the expectation.
OpenCandidates not yet built around: parents-meet-other-parents at family venues, broader university student bodies, tourism boards as B2B partners, pet owners at dog-friendly venues.
Open"Open to pings" maximizes match rate; "Just browsing" maximizes privacy-by-default trust. Likely default: just browsing, with one-tap upgrade.
OpenPhone-only for MVP. Revisit at international expansion.
Phone-only for MVPQuickMeet 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.
Three personas in v0.2. End-user sub-segments (bachelor / friend group / solo traveler / networker / regular / curious lurker) are detailed in the Business Growth Model doc.
11 nodes in v0.2. Two new steps from the v3 baseline: Invite your group after profile, and a richer Post-session step at the end. Affiliate-attributed scans branch into the QR resolution and feed downstream attribution.
quickmeet.app/join?code=abc123 (optionally with &aff=… or &ev=…) — venue context auto-resolved, attribution captured.
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.
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."
12 entities in v0.2. Three new in v0.2: AFFILIATES, AFFILIATE_CODES, and EVENTS. QR_CODES and CHECK_INS gain optional affiliate_code_id and event_id for attribution.
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. USERS now also carries a subscription_tier for the freemium model.
v0.1 introduced visibility_mode on CHECK_INS and the optional profile-completion fields. v0.2 adds three new entities (AFFILIATES, AFFILIATE_CODES, EVENTS) and extends QR_CODES, CHECK_INS, USERS, and VENUES for the freemium and affiliate models.
| Table | Field | Change | Values |
|---|---|---|---|
CHECK_INS |
visibility_mode |
v0.1 — per-session, not per-user | visible_open · visible_browsing · hidden |
USERS |
last_name · instagram_handle · profile_complete |
v0.1 — optional / deferred profile fields | String / String / Boolean (default false) |
USERS |
subscription_tier · premium_expires_at |
v0.2 NEW — freemium support | free · premium |
VENUES |
subscription_tier |
v0.2 NEW — venue tier | free · insights · pro |
QR_CODES |
source_type · affiliate_code_id · event_id |
v0.2 NEW — attribution | venue · affiliate · event |
CHECK_INS |
affiliate_code_id · event_id |
v0.2 NEW — propagated attribution | Nullable FKs |
AFFILIATES |
(new entity) | v0.2 NEW | Identity, role, payout method, status, earnings |
AFFILIATE_CODES |
(new entity) | v0.2 NEW | Token, FK to affiliate + venue, scan/conversion counters |
EVENTS |
(new entity) | v0.2 NEW | Name, time window, FK to venue, optional FK to QR code |
Trust is the product. A nightlife social product collapses fast if users feel unsafe or surveilled. v0.2 codifies the safety, identity, and data-handling guardrails — many were implicit in v0.1.
| Area | Requirement | Notes |
|---|---|---|
| Identity | Phone-verified accounts only | No anonymous sign-ups. Phone number is the durable identity anchor. |
| OTP rate limiting | Max 3 OTP requests per phone per hour | Prevents SMS bombing & abuse. Twilio + custom Redis counter. |
| Block / report | User-initiated; mutual invisibility | Blocked users are hidden from each other in browse and search. Reports queued for review. |
| Auto-checkout | 3 hrs of inactivity | Prevents stale profiles persisting on venue boards after the user has left. |
| Photo moderation | Automated (AWS Rekognition) + manual queue | Reject explicit content; flag uncertain matches for human review. |
| Data retention | Check-ins anonymized after 90 days; profile photos deleted after 12 mo of inactivity | PII minimization. Aggregated metrics retained indefinitely for venue analytics. |
| Transport security | HTTPS everywhere, including QR-encoded URLs | HSTS, secure cookies, modern TLS only. |
| Auth tokens | Short-lived JWTs (1 hr) + refresh tokens | Tokens scoped to a single device. |
| Compliance | GDPR / CCPA: data export & deletion endpoints | Self-serve data export and account deletion required. Privacy policy + ToS at sign-up. |
| Affiliate payments | Affiliate identity KYC for payouts > $600/yr | 1099 reporting threshold. PayPal/Venmo handle KYC for smaller payouts. |
| Admin access | Role-based access; venue admins see only their data | Audit log on every admin action that touches user data. |
| Premium anonymity | "See who pinged you" gated behind premium | Free tier sends pings anonymously by default; premium reveals identity to the recipient. |
| Feature | Scope | Notes |
|---|---|---|
| QR scan → mobile web | MVP | No app download. URL-encoded venue + attribution context. |
| Phone OTP registration | MVP | Via Twilio or AWS SNS. 10-min expiry, one-time use, rate-limited. |
| Profile setup (name, photo, tagline) | MVP | Under 60s. Returning users skip. |
| Invite your group | MVP | Shareable link / iMessage / WhatsApp. Critical viral loop. |
| Visibility mode toggle | MVP | 3 modes: open / browsing / hidden. Per-session. |
| Browse active users at venue | MVP | Real-time list with mode badges. |
| Ping + mutual match | MVP | Anonymous ping, mutual reveal on match. Venue zone hint on match screen. |
| Bump (contact exchange) | MVP | 30-second mutual window. |
| Manual + auto check-out | MVP | Auto after 3hr inactivity. |
| Post-session summary | MVP | Night stats, "How was your night?" feedback, profile-completion nudge. |
| Block / report | REQUIRED | Mutual invisibility on block. Report queue for review. |
| Admin: venues + QR codes | MVP | Permanent, affiliate-attributed, and event-scoped codes. |
| Admin: events & affiliates | MVP | Create events, manage affiliate roster & payouts. |
| Admin: revenue dashboard | MVP | Per-stream and per-venue revenue with commission breakdown. |
| Affiliate portal | MVP | Self-serve sign-up, dashboard, QR/link, monthly payout. |
| User premium tier | v2 | $2.99/night or $9.99/mo. Spotlight, see-who-pinged, multi-venue, ping history. |
| Venue Insights / Pro tiers | v2 | Analytics, branded events, custom branding, push promos. |
| Conversation starter AI | v2 | Generate icebreakers from shared profile data. |
| "Buy them a drink" via POS | v2 | POS integration (Toast/Square/Clover). 15–20% commission. |
| Dark mode (user-facing) | v2 | Bars are dark. Bright white screens are jarring. |
| Web push + vibration | v2 | Critical for the "someone pinged you" moment when the tab isn't focused. |
v0.3 implementation — Postgres-first data layer, Redis hot path for presence (per the v0.2 spec), Lambda + API Gateway for sync, AppSync for real-time, pgmq as a free durable queue at pilot. Reconciled with the v0.2 product spec on 2026-04-29.
AFFILIATE_PROFILES is a 1:1 extension on USERS (every user has an informal profile by default); QR_CODES consolidated (AFFILIATE_CODES absorbed); VENUES + EVENTS each gain optional url; CHECK_INS.current_zone for venue zone hint; REVENUE_EVENTS placeholder ledger; auto-checkout 3 hours.
Full design rationale in architecture/QuickMeet-Architecture.md.
Six logical tiers: client surfaces (patron PWA · admin · affiliate console), edge / DNS, auth, API (sync + real-time), data (Postgres · Redis · S3), and async / events. Solid arrows are request/response; dashed arrows are notifications, events, or telemetry.
Color key: stores (Postgres + S3, system of record) · cache (Redis: presence, sessions, pub/sub) · compute / messaging (Lambda · API GW · AppSync · pgmq · SNS · Rekognition) · edge / identity (Route 53 · CloudFront · Cognito) · ops (CloudWatch · Secrets · WAF).
Every check-in is dual-written: a durable row in Postgres, plus a hot record in the Redis sorted set venue:{id}:live. "Who's here now" reads only Redis; Postgres is the rebuild source.
The three-stage social mechanic. Match is detected atomically when a mutual ping exists; canonical ordering (user_a_id < user_b_id) prevents duplicate matches. Bump requires both users to set a Redis SETEX key within a 30-second window — when both keys exist, contact info is exchanged.
Identity is unified — there is no separate affiliates table. The affiliate is just a USERS row with an optional 1:1 AFFILIATE_PROFILES extension. Every user has an informal profile by default (so anyone can carry a personal referral QR); filling in payout details and being approved promotes them to formal status, which unlocks monthly disbursement.
Pilot ~$32/mo · Growth ~$791/mo · Scale ~$3,674/mo. Cognito dominates above 50k MAU — migration trigger set at 25k MAU or $300/mo Cognito bill. Lambda stays cheap across all three tiers; pgmq on the existing RDS instance avoids the SQS line entirely at pilot.
Full line-item cost model: architecture/QuickMeet-Architecture.md §6.
Sixteen tables. Unified identity: the standalone affiliates table is gone — affiliate_profiles is a 1:1 optional extension on users, so any user can carry a personal referral QR without holding a second account. A trigger creates an informal profile for every new user. qr_codes is unified with a type discriminator and nullable affiliate_user_id / event_id FKs. check_ins.current_zone stores the venue zone hint surfaced on a match. revenue_events is the placeholder ledger for the admin revenue dashboard. Live presence reads from Redis sorted sets, not Postgres.
Notable design decisions:
qr_codes uses a CHECK constraint enforcing that affiliate QRs reference an affiliate user and event QRs reference an event.
matches uses canonical ordering (user_a_id < user_b_id) to prevent duplicate match rows.
admin_venues is M:M (regional admin covers multiple venues; venue can have multiple admin contacts) — wider than the v0.2 spec's 1:M.
architecture/schema.sql.