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
😄

Friends here too?

Send them your check-in link so the whole crew is on the same board.
💬iMessage
📲WhatsApp
✉️Share
📷Story
👯 Groups that join together are 4× more likely to have a real conversation tonight. Skip if you came solo.
The Fox & Anchor
8 people here tonight
● Live
📍2 partner venues within 500m · open the multi-venue pass to see who's there
You're visible
Mode: open to pings
🎉
It's a match!
You and Jordan are both interested.
📍 They're at · Main bar
Jordan is near the front bar, by the taps. Say hi when you're ready.
💬 Conversation starter
You're both here for a birthday — whose? 🎂
👋
See you next time
You've checked out of The Fox & Anchor.
Auto-checkout after 3 hrs of inactivity
2
Pings sent
1
Match
1
Bump

How was your night?

😞
😐
🙂
😄
🤩
Complete your profile?
Add your last name, Instagram, and a short bio so future matches see more of you.
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

Events

Time-scoped QuickMeet nights — each event gets its own QR code and attribution

EventVenueDateQR codeCheck-insStatus
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

Affiliates

Manage affiliate accounts, performance, and payouts

8
Active affiliates
+2 this week
812
Affiliate scans (30d)
36% of all scans
141
Conversions
17% conv. rate
$268
Pending payout
Cycle: monthly

Affiliate roster

NameRolePrimary venueScans (30d)Conv.EarnedStatus
Maria Sanchez
@maria_pours
BartenderThe Fox & Anchor34862$96.80Active
Devon PierrePromoterWynwood circuit28651$79.40Active
@elenanightoutInfluencer24144$68.20Active
Luca RomanoBouncerBodega Taqueria11814$22.40Active
Priya N.ServerLost Boy Dry Goods625$8.10Pending

Revenue

Projected and actual revenue by stream and venue

User premium · MTD
$1,148
+18% vs. last month
Venue subscriptions · MTD
$594
+1 venue this week
Affiliate payouts · MTD
$268
23% rev share to affiliates
Net revenue · MTD
$1,474
After affiliate & processing fees

Revenue by venue · April 2026

VenuePremium conversionsUser revenueSubscription tierSub revenueTotal
The Fox & Anchor78$233.20Insights ($99)$99$332.20
Bodega Taqueria54$161.40Insights ($99)$99$260.40
Lost Boy Dry Goods41$122.60Pro ($249)$249$371.60
Wynwood Walls Bar22$65.80Free$0$65.80
Drink commission (pilot)$147 (test)$147.00

Venue pitch

Preview of what a bar owner sees during the onboarding conversation

More patrons. More dwell time. Zero risk.

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.

+27%
Avg. dwell time at pilot venues during QuickMeet nights
+18%
Average tab spend on QuickMeet nights vs. control nights
$0
Cost to start. We print the coasters. You decide if you want analytics later.

Sample engagement report

A redacted preview of the report a Tier 2 venue gets each Monday — based on real data from a similar pilot venue.

132
Check-ins this week
2.1 hr
Avg. session
38%
Match rate
68%
Returning visitors

Full report includes peak-hour heatmap, demographic breakdown (anonymized), and top conversion-driving QR positions.

Pick the right tier

Tier 1
Free · forever
  • QR coasters & table tents
  • Basic check-in count
  • Auto-checkout & safety features
  • Phone-verified users only
Tier 3 · Pro
$249 / mo
  • Everything in Insights
  • Push promotions to checked-in users
  • Custom branding (logo, colors)
  • Priority placement in venue discovery
  • API access

Ready to try it?

We'll print 50 coasters, set up your venue in the dashboard, and run a pilot night within 7 days.

Affiliate portal · v0.2

Earn while the bar does its thing.

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.

Become an affiliate

Tell us who you are and where you work. We'll generate your code and ship you stickers within 48 hours.

Sign up

90 seconds. No commitment.
By signing up you agree to the affiliate terms. 20% revenue share on premium conversions tied to your code, paid monthly with a $10 minimum.

Your dashboard preview

What Maria S. (@maria_pours) sees the next morning.
Pending payout
$84.20
348
Scans · 30d
62
Sign-ups
18%
Premium conv.
Recent payouts
PeriodConversionsEarnedStatus
Mar 202654$96.80Paid
Feb 202641$73.50Paid
Jan 202628$52.10Paid
Maria's affiliate code
quickmeet.app/join?code=fox-anc-1&aff=maria_pours

Per-venue performance

Affiliates can work multiple venues. Each gets its own attribution.

Venue
Scans (30d)
Conversions
Earnings
The Fox & Anchor
218
38
$67.80
Bodega Taqueria
94
19
$33.40
Lost Boy Dry Goods
36
5
$8.90

Top performers · Miami

Top 3 in your city this month. Top 5 each month earn the "QuickMeet Ambassador" badge and a 25% rev-share tier.

#1 · Bartender
Maria Sanchez
62 conversions · $96.80
The Fox & Anchor + 2 more
#2 · Promoter
Devon Pierre
51 conversions · $79.40
Wynwood circuit
#3 · Influencer
@elenanightout
44 conversions · $68.20
38K IG followers
Investor view · v0.2

A coaster, a QR code,
and a market that already exists.

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.

📅 Year 1 plan 🏪 Bars → Hotels → Cruises 💰 4 revenue phases 🔓 Core always free
Year 1 venues
50–80
Concentrated launch in 2 cities, neighborhood-by-neighborhood.
Year 1 weekly users
6–12K
By Q4. Premium conversion at 5% drives the largest revenue line.
Year 1 revenue
$55–115K
Three streams active by Q4: user premium, venue subs, transactions.
Capital ask
$60–100K
Tech build, QR & marketing, 12 mo of operating runway.

Who's in the ecosystem

Four personas across both sides of the marketplace. Each is a distinct distribution channel and a distinct revenue path.

📱
Primary persona

End users (patrons)

21–35 nightlife and travel demographic. Singles, friend groups, solo travelers, networkers, regulars.

Free core forever · premium $2.99/night or $9.99/mo
🏪
B2B customer

Venues & partners

Bars, lounges, hotels, rooftops, fitness studios, conferences, co-working spaces, cruise lines, resorts.

Free Tier 1 · Insights $99/mo · Pro $249/mo
🎟️
Distribution channel

Affiliates

Bartenders, bouncers, promoters, micro-influencers. Each gets a tracked QR / link.

20% revenue share · top tier earns onboarding bonuses
🤝
Supporting cast

Other personas

Venue staff (non-affiliate), group ringleaders, brand sponsors (future), regulators, the QuickMeet ops team.

Each gets a small surface in the product, not a billing relationship.

Revenue model — staged across 12+ months

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.

Phase 1

Free launch

Months 1–3 $0 / month

Goal: prove the concept and generate engagement data. No charges to either side.

Distribution path
  • Founder-led direct sales to 5–10 bars in one neighborhood
  • Bartenders paid a flat $10–20/night during launch weeks
  • Bouncers / door staff give a one-line pitch on entry
  • 10–15 seeded ambassadors per launch night
  • Coasters & table tents are the only physical asset
Phase 2

User freemium

Months 3–9 ~$1.5K / month

Premium: see-who-pinged, spotlight, multi-venue, extended profile, ping history. Core stays free.

Distribution path
  • Bartenders enrolled in formal affiliate program (highest converting)
  • Bouncers / door staff on the same affiliate model
  • Nightlife promoters layered onto existing foot-traffic networks
  • Group "scan-and-share" viral loop — biggest organic lever
  • Geo-targeted IG / TikTok ads pointing at venue QR landing pages
  • Local micro-influencer (5K–50K) seeding
Phase 3

Venue subscriptions

Months 6–12 ~$3.2K / month

Tier 2 Insights ($99) and Tier 3 Pro ($249). Free tier remains the funnel into paid.

Distribution path
  • Direct sales to venue managers using their own engagement data
  • Top affiliates as "QuickMeet Ambassadors" earning $50–100 per onboarded venue
  • Hospitality groups & bar collectives — portfolio deals
  • Inbound from venue-to-venue word of mouth
  • Industry trade shows (Bar & Restaurant Expo) once we have case studies
Phase 4

Commission & transactions

Month 12+ ~$1.1K+ / month, scales with users

15–20% commission on "buy them a drink" transactions, plus tables, group rounds, and event tickets.

Distribution path
  • POS marketplace listings: Toast, Square, Clover
  • White-label / co-branded events at partner venues
  • Cruise & resort partnerships — closed-environment deals
  • Bartenders / promoters retained as affiliates on premium & transactions
  • Brand co-marketing with dating-adjacent products

Funnel & unit economics

A representative night at one venue, illustrating how 200 walk-ins translate into measurable revenue.

Walk-ins at venue200
QR scans120
Registered & checked in75
Pinged ≥ 1 person38
Premium conversions10

One-night economics, one venue

Premium revenue (10 × $2.99)$29.90
Affiliate share (20%)−$5.98
Payment fees (~3%)−$0.90
Net to QuickMeet$23.02
Per-venue weekly run rate (5 nights)~$115

Who pays for what, and when

The product never charges for the core experience. Monetization layers on as the network gets denser and the data gets more valuable.

WhoWhat they pay forWhen it startsChannel
Users (free)Nothing — full core experienceAlwaysQR scan, in-venue
Users (premium)Spotlight · see-who-pinged · multi-venue · ping historyMonth 3Self-serve in-app
Venues (free)Nothing — coasters + check-in countAlwaysFounder & ambassador outreach
Venues (paid)Analytics, promotions, branding, eventsMonth 6Direct sales after free trial data
AffiliatesNothing — they earn 20% revenue shareMonth 3Self-serve sign-up portal
Transactions15–20% commission on drinks & tablesMonth 12+POS partner integrations

Beyond bars — partner expansion

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.

🏨
Travel

Hotels & rooftop bars

Travelers looking to meet locals or other travelers. Lobby + rooftop QR placements. Higher willingness to pay than locals.

🎵
Events

Festivals & multi-day events

Event-scoped QR codes already on the v2 spec. Strangers actively trying to find each other in a crowd.

Daytime

Coffee shops & co-working

Networking and "open to a chat?" use cases. Same product, different framing.

🧘
Lifestyle

Fitness studios & conferences

Post-class social, conference badges replaced with real connections. Specific QR placement strategies per vertical.

Year 1 revenue by quarter

Stacked composition by stream. Premium dominates first; venue subscriptions and transactions enter mid-year.

Q1 · $0
Q2 · $1.5–3K
Q3 · $5–10K
Q4 · $12–25K
User premium Venue subscriptions Transactions

Open questions & decisions

Live list of unresolved business-model decisions. Source of truth: QuickMeet-Business-Growth-Model.md §11.

Q1 · Should we charge venues at all, or fund the business from end users only?

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."

Open

Q2 · Premium gating — what is free vs. paid?

Working 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 adopted

Q3 · Cruise & resort revenue model

Per-passenger license, flat per-sailing fee, or revenue share on premium? Likely flat per-sailing fee with bundled premium for that sailing.

Open

Q4 · Bartender / bouncer flat-per-night during launch?

$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.

Open

Q5 · Are we missing personas?

Candidates 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

Q6 · Default visibility mode on first scan

"Open to pings" maximizes match rate; "Just browsing" maximizes privacy-by-default trust. Likely default: just browsing, with one-tap upgrade.

Open

Q7 · Phone-only identity vs. email / OAuth

Phone-only for MVP. Revisit at international expansion.

Phone-only for MVP
QuickMeet — Product Spec
📄 Version 0.2 📅 2026 🔧 Pilot phase 👤 3 personas 🗂️ 12 entities
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

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.

⚙️

Admin (operator)

  • Create and manage venues / locations
  • Generate QR codes (venue, affiliate-attributed, 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
  • Manage affiliates and approve payouts
  • View revenue per venue and per stream
📱

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
  • Optionally invite their group via shareable link
  • 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)
  • Optionally upgrade to premium for visibility & multi-venue
🎟️

Affiliate (NEW)

  • Sign up as bartender, bouncer, promoter, or influencer
  • Receive a unique affiliate-attributed QR code & link
  • Track scans, conversions, and earnings in real time
  • Per-venue performance breakdown
  • Monthly payout via Venmo, PayPal, or ACH
  • Earn 20% rev-share on attributed premium conversions
  • Top performers earn "Ambassador" tier (25–30% share)
  • One-time bonus ($50–100) for onboarding a new venue
3. User flow

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.

1
Scan QR code Opens quickmeet.app/join?code=abc123 (optionally with &aff=… or &ev=…) — venue context auto-resolved, attribution captured.
MVP
2
Phone verification (OTP) Enter number → receive SMS → enter 4-digit code → session created. Rate-limited (max 3/hr).
MVP
3
Profile setup (new users) First name + selfie + tagline. Returning users skip directly.
MVP
4
Invite your group (NEW) Optional. Shareable link / iMessage / WhatsApp. Group sign-ups attributed back to the inviter.
MVP
5
Set visibility mode Open to pings / Just browsing (visible, no pings) / Hidden. Per-session.
MVP
6
Browse active users at venue See name, photo, tagline, and visibility mode. Optional banner shows nearby partner venues (multi-venue pass = premium).
MVP
7
Ping (optional) Mutual ping = match revealed + conversation starter generated. See-who-pinged-you = premium.
MVP
8
Match + venue zone hint Match screen tells the user where in the venue their match is (front bar, patio, back room).
MVP
9
Bump to exchange contact Both tap within 30-second window → phone numbers or handles shared.
MVP
10
Buy them a drink (v2+) Optional in-app drink purchase via venue POS integration (Toast/Square/Clover). 15–20% commission.
v2
11
Post-session / checkout (NEW) Manual or auto-checkout (3hr inactivity). Show night summary, prompt for "How was your night?", nudge to complete profile, save venue.
MVP
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)

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.

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

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.

TableFieldChangeValues
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
7. Security & privacy

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.

AreaRequirementNotes
IdentityPhone-verified accounts onlyNo anonymous sign-ups. Phone number is the durable identity anchor.
OTP rate limitingMax 3 OTP requests per phone per hourPrevents SMS bombing & abuse. Twilio + custom Redis counter.
Block / reportUser-initiated; mutual invisibilityBlocked users are hidden from each other in browse and search. Reports queued for review.
Auto-checkout3 hrs of inactivityPrevents stale profiles persisting on venue boards after the user has left.
Photo moderationAutomated (AWS Rekognition) + manual queueReject explicit content; flag uncertain matches for human review.
Data retentionCheck-ins anonymized after 90 days; profile photos deleted after 12 mo of inactivityPII minimization. Aggregated metrics retained indefinitely for venue analytics.
Transport securityHTTPS everywhere, including QR-encoded URLsHSTS, secure cookies, modern TLS only.
Auth tokensShort-lived JWTs (1 hr) + refresh tokensTokens scoped to a single device.
ComplianceGDPR / CCPA: data export & deletion endpointsSelf-serve data export and account deletion required. Privacy policy + ToS at sign-up.
Affiliate paymentsAffiliate identity KYC for payouts > $600/yr1099 reporting threshold. PayPal/Venmo handle KYC for smaller payouts.
Admin accessRole-based access; venue admins see only their dataAudit log on every admin action that touches user data.
Premium anonymity"See who pinged you" gated behind premiumFree tier sends pings anonymously by default; premium reveals identity to the recipient.
8. MVP scope
FeatureScopeNotes
QR scan → mobile webMVPNo app download. URL-encoded venue + attribution context.
Phone OTP registrationMVPVia Twilio or AWS SNS. 10-min expiry, one-time use, rate-limited.
Profile setup (name, photo, tagline)MVPUnder 60s. Returning users skip.
Invite your groupMVPShareable link / iMessage / WhatsApp. Critical viral loop.
Visibility mode toggleMVP3 modes: open / browsing / hidden. Per-session.
Browse active users at venueMVPReal-time list with mode badges.
Ping + mutual matchMVPAnonymous ping, mutual reveal on match. Venue zone hint on match screen.
Bump (contact exchange)MVP30-second mutual window.
Manual + auto check-outMVPAuto after 3hr inactivity.
Post-session summaryMVPNight stats, "How was your night?" feedback, profile-completion nudge.
Block / reportREQUIREDMutual invisibility on block. Report queue for review.
Admin: venues + QR codesMVPPermanent, affiliate-attributed, and event-scoped codes.
Admin: events & affiliatesMVPCreate events, manage affiliate roster & payouts.
Admin: revenue dashboardMVPPer-stream and per-venue revenue with commission breakdown.
Affiliate portalMVPSelf-serve sign-up, dashboard, QR/link, monthly payout.
User premium tierv2$2.99/night or $9.99/mo. Spotlight, see-who-pinged, multi-venue, ping history.
Venue Insights / Pro tiersv2Analytics, branded events, custom branding, push promos.
Conversation starter AIv2Generate icebreakers from shared profile data.
"Buy them a drink" via POSv2POS integration (Toast/Square/Clover). 15–20% commission.
Dark mode (user-facing)v2Bars are dark. Bright white screens are jarring.
Web push + vibrationv2Critical for the "someone pinged you" moment when the tab isn't focused.

System architecture

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.

Key implementation deltas vs v0.2 spec ERD: identity unified — 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.
1. AWS stack

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).

2. Flow: scan → check in → live presence

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.

3. Flow: ping → match → contact bump

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.

4. Flow: affiliate attribution → conversion → payout

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.

5. Cost shape (year-2 steady state)

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.

6. Database schema (v0.3)

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.

The v0.2 product spec ERD lives unchanged on the Spec tab §5 — that's the canonical product spec snapshot. The diagram above is the v0.3 implementation schema, also defined in architecture/schema.sql.