A hybrid conference networking experience
We identified conference networking's cold start problem that fails at two points — discovery and encounter.
And addressed it with goal-aware matching and staged interactions.
Existing tools address matching at scale, but the limiting factor is often emotional — the fear of awkwardness, the fear of wasting time, the fear of being subjected to a sales pitch.
Most matchmaking tools treat attendees as static interest vectors compared for overlap. But attendees pursue different, often complementary goals. A designer seeks an engineer. A founder seeks an investor. Similarity-only matching misses these cases entirely. And matching is inherently two-sided — a recommendation that only one party values is a failed recommendation.
Even well-matched pairs produce shallow interactions without designing for the fragile cold-open moment. A frictionless tap that instantly resolves the exchange leaves no impression, no shared task. The cold start problem is social risk — negotiating attention, relevance, and mutual interest without sounding rehearsed or opportunistic.
This section is grounded in literature-rich desk research, explaining why Prophere uses reciprocity, friction, embodied gesture, and perspective shifts instead of treating speed as the only good outcome.
"The limiting factor is often emotional — the fear of awkwardness, the fear of wasting time, and the fear of being subjected to a sales pitch. These concerns are addressed through pacing, prompts, and permission structures in ways that algorithms alone cannot reach." — From the capstone paper
Prophere starts with the idea that a recommendation only matters when both people value it. That is why the system treats matching as reciprocal, not one-sided.
The design implication is simple: surface pairs that each person can actually use, even if their goals are different rather than identical.
"Some of the most productive conversations occurred when matches were imperfect — suggesting that the tension between matching precision and serendipity is a design variable worth preserving."
The solution combines goal-aware matching, staged reveal, directional prompts, and NFC taps so the digital match turns into an intentional physical conversation.
The match reveal is the emotional anchor of the flow — a designed moment of anticipation that makes connection feel earned. Scored 4.45/5 on visual engagement in testing.
Prompts shift meaning depending on who is framed as the initiator. The same pair produces different exchanges depending on who asks, introducing productive asymmetry.
You work with machine learning — where do you draw the line on what machines should learn from us?
Each NFC tap reveals a new layer of identity. Progressive disclosure creates permission structures — making it socially acceptable to linger and ask a question.
Complementary goals — you seek technical feedback, they seek design critique.
Designing artifacts from futures that don't exist yet. Researching how speculative objects can make abstract policy tangible.
Designing artifacts from futures that don't exist yet. Researching how speculative objects can make abstract policy tangible. Currently exploring participatory foresight methods at NYU.
Looking for collaborators in AI governance research
Drove the shift from speech tool to NFC conference networking; introduced the cold-start problem framing; ran a Five Whys analysis establishing that NFC should *start* conversations, not end them.
Named the project Prophere; decomposed the system into four interaction modes (Pre-Event Matching, In-Event Planned Meet/Kiosk, Spontaneous Meet/Phone-to-tag, Proxel Neural Panel); designed and budgeted the Proxel LED visualization installation (P4 LED Matrix + Leap Motion); conducted NFC feasibility analysis and validated the NTAG215 badge-sticker model as the universal hardware solution; budget approved.
Replaced all emoji icons with Lucide icon set for visual consistency; applied NYU-inspired
color palette (Deep Violet #57068c) across the full interface; redesigned the
organizer workflow as a stepped landing page (Session Locations → Sessions → Meeting
Points), replacing scattered action buttons; fixed the interactive Proxel network graph (resolved a Jinja2/JavaScript
escaping bug); refactored monolithic app.py into modular Flask Blueprints
(Auth, Admin, Matching, Scheduling).
Designed and built the full organizer-facing product layer: session and location management, attendee oversight, match review, and the stepped workflow UI that guides organizers through setup rather than exposing raw controls.
Implemented availability slot modeling, time-slot generation logic with conflict detection, and auto-assignment of 10–15 minute micro-meetings; paired with in-app and browser-based notifications to alert attendees of confirmed meeting times.
Formally scoped down the MVP; deprioritized Proxel panel, kiosk hardware, and calendar integration; redirected focus to matchmaking flow, user testing, and NFC phone-based interaction.
Produced Mermaid flowcharts for Service Provider, Organizer, and Attendee, each tagged
[Done] / [Not Done] / [Omit]; the Attendee chart
spanned Pre-Event, In-Event, and Post-Event phases and served as the team's feature
development blueprint.
Tested NTAG215 tags on 5 devices; benchmarked tap-to-profile latency (Android ~1.2–1.4s,
iPhone ~3.5–4s); deployed a Vercel dynamic link redirect service with
apple-app-site-association Universal Links, reducing iPhone tap time to
~2.5–3s; designed a three-path data architecture (URL/phone, UID/HID kiosk,
NDEF/middleware); specified hardware procurement (2× ACR1552U USB-C readers).
Co-ran session with 20 participants; performed full statistical analysis (grand mean 3.88/5.00); identified 3 user archetypes; surfaced 7 design insights including the +1.60 Q1→Q2 experience gap, AI uncanny valley in prompt naturalness (Q11 vs. Q13 gap of 0.80), and quantitative validation of the directional conversation model.
Built a microphone-based silence and filler-word detector ("uhh," "er," "erm") styled after Manfred Mohr's algorithmic aesthetics; served as the team's first technical prototype.
Pivoted to the NFC networking concept; built the first Flask + SQLite app with user auth (register/login, password hashing, admin roles), event creation/joining, resume upload, admin dashboard, and animated custom notification popups replacing Flask flash messages.
Explored counterintuitive design via a "forced reflection" post-tap journal; established the philosophical framing that friction can deepen connection.
Prototyped a staged profile-reveal mechanic (name → headline → full resume across repeated taps) using the reversal method; concept informed the final progressive disclosure model.
Implemented MatchingEngine using all-mpnet-base-v2
SentenceTransformer (768-dim embeddings); blended keyword-to-keyword, doc-to-doc, and
keyword-to-doc cosine similarity; set initial threshold at 0.2.
Built /graph endpoint returning nodes/edges JSON; evaluated D3.js, Vis.js,
Cytoscape.js — chose Cytoscape.js; embedded visualizer into the app at
/event/<id>/graph; resolved Jinja2 script load-order bug; pivoted graph
to organizer-only admin display; added floating node animation (±25px radius); built
synthetic stress-test datasets (20 / 100 / 300 nodes).
Integrated an email-sending service into the matching pipeline; triggered personalized match emails to both attendees simultaneously upon match confirmation; connected to DB transaction lifecycle to prevent duplicate or false-trigger emails.
Evaluated 6 ML models on 500k sentences / 13,000-dim bag-of-words; ruled out Linear and Ridge Regression (memory failure); identified SVC (0.90 acc, 4.6s) as leading candidate; tuned SGD to optimal config (lr=0.1, epochs=20, batch=10, 0.89 acc, ~37s).
Built a fully isolated Flask blueprint at /showcase (no DB, no auth, no email)
with 10 hardcoded IM-archetype profiles; implemented staged match reveal (800ms SEARCHING
animation + SVG line draw); built a directional conversation engine (Ask as A / Ask as B)
with 4 question pools, per-direction repeat-avoidance memory, and Switch Roles; upgraded
engine to parse profile_text for interest extraction, tension/contrast signals,
and embedded questions; replaced NFC hardware dependency with manual badge-entry for
testing.
Designed the 22-question Likert-scale survey across 6 sections (first impression, entry, match reveal, prompts, directionality, overall). Recruited 20 participants and conducted user testing sessions.
User testing with 20 participants across a 22-question Likert-scale survey measuring usability and experiential quality.
Explore the Implementation