ZYRVIS · 产品 02 / 12

CoffeeChat

LBS 即时社交平台 — 以咖啡为媒,遇见有趣的人。
话题锚定 + 物理店铺坐标,不看脸、不滑动,半小时内从线上邀约走到线下碰杯。

LBS iOS · Swift/UIKit Node.js + TypeScript PostgreSQL + Redis 30 分钟履约
▶ 试玩 Demo ← 全部产品

不看脸,看话题

彻底放弃"看脸滑动"。CoffeeChat 用"话题模板 + POI"复合检索,把社交锚定在一杯真实的咖啡上 — 步行可达,30 分钟内线下履约。

🗺️
地图发现
基于高德地图,实时展示附近咖啡馆和活跃邀约 — 人在哪,局就在哪。
💬
话题锚定
职场交流 / 创意头脑风暴 / 联合副业探索 / 语言交换,四类结构化模板,开口就有话聊。
即时邀约
只在步行可达范围内发起,30 分钟内线下履约 — 拒绝"改天约",就现在。
🛡️
信用体系
实名认证 + 履约积分:初始 100 分,履约 +2、放鸽子 -10,低于 60 限制使用。
🤖
AI 申请辅助
接入 MiniMax LLM,自动生成个性化申请模板,把破冰成本降到零。
O2O 联动
商家联运返佣(订单金额 8%–15%),用社交流量激活咖啡馆的平峰时段。

为什么做 CoffeeChat

陌生人社交正在被"看脸滑动"和"改天约"拖垮 — 匹配效率低、破冰门槛高、情感内耗重。而"搭子文化"的走红说明,年轻人要的是低内耗、高即时、目的明确、物理可及的真实连接。CoffeeChat 的每一条机制,都正对着一个真实痛点(源自项目可研报告)。

真实痛点CoffeeChat 的解法
"看脸双向滑动"匹配效率低、破冰门槛高,用户情感内耗严重彻底放弃看脸,改用「话题模板 + POI」复合检索 — 四类结构化话题,开口就有话聊
职场社交平台信息噪音大、虚假人设泛滥,履约效率极低手机号验证 + 实名认证 + 履约信用分,关系从线上寒暄落到线下真实碰杯
"提前一周预约"的重度社交,扛不住年轻人日程的易变性即时在线状态 + 未来两小时预订,只匹配当下的空闲窗口;时间预算 15'–1h 弹性可选
非对称价值的心理障碍:怕"自己没什么能给对方",社交怯步AI 申请辅助(MiniMax LLM)按背景与意向生成个性化申请模板,把破冰成本降到零
从线上匹配到线下见面链路极长,转化漏斗陡峭只在步行可达范围内发起邀约,30 分钟内线下履约 — 拒绝"改天约",就现在
咖啡馆平峰时段客流不足(商家侧痛点)O2O 商家联运:订单金额 8%–15% 返佣 + 到店核销 + 膨胀券复购,激活平峰时段

附近有约,现在出发

附近邀约地图 + 申请履约闭环:点一个活跃气泡,从申请、被接受、约时间到履约完成、互评信用 — 完整走一遍 CoffeeChat 的核心流程。地图上是 6 家真实种子咖啡馆(上海 · 静安)。

CoffeeChat · 邀约履约闭环(演示)
🛡️ 我的履约信用分 100+2
① 发现 ② 申请 ③ 接受 ④ 赴约 ⑤ 评价
📍
👆 点击地图上跳动的邀约气泡,挑一个感兴趣的局。
有 3 位发起人正在等你 — 职场 / 副业 / 语言,各一杯咖啡的距离。

演示数据来自后端种子集:6 店 / 5 用户 / 10 邀约。信用规则:履约 +2、放鸽子 -10、低于 60 限制使用。

一次完整的 CoffeeChat

从打开地图到互评完成 — 这是项目《功能流程》文档里"整体用户旅程"的真实路径:发现探索 → 首次互动 → 活跃用户循环,信用分不断累积,陌生人社交逐步沉淀为熟人网络。

01
🔍 发现
打开地图、授权定位,浏览附近咖啡馆标注与跳动的邀约气泡 — 话题标签一眼可见。
02
✉️ 申请
点气泡看邀约卡片:发起人、信用分、话题、期望人数;选时间预算(15'/30'/45'/1h),写附言或「✨ AI 帮我写」。
03
✓ 审批
发起人在手机端管理申请队列,快速预览申请人的认证背景,一键接受最合适的候选人。
04
💬 约定
匹配成功自动开启 WebSocket 实时聊天,敲定时间 —「那就 3:30 在 Seesaw?」「好呀,到时候见 ☕」。
05
☕ 履约
到店双方确认完成、生成履约核销;如有点单则创建 O2O 订单 — 双方信用分各 +2。
06
⭐ 互评
1–5 星打分 + 留言,沉淀进对方主页的评价流;信用分持续累积,下一场局已经不远。

信用分规则 × 18 步 E2E

信用体系不是口号,而是一套跑在自动化测试里的硬规则。左边是完整的分值表(源自《功能流程》信用扣分流程);右边是 backend/scripts/e2e-smoke.ts 的真实冒烟路径 — 最近一次跑(2026-07-05)全绿:18 步骤 / 14 业务断言 / 9 边界断言。

行为分值变动说明
初始信用分100 分新用户默认分值,实名认证后启用
履约完成+2双方确认到店完成,各 +2
被投诉(确认属实)-5平台复核确认后扣分
放鸽子(无故缺席)-10约定见面未到且未取消
推销行为(确认)-20利用平台进行营销导流
信用分 < 60限制使用无法创建邀约 / 无法申请加入,提示提升信用
$ E2E=1 ./node_modules/.bin/tsx scripts/e2e-smoke.ts
✅  0. /health → 200(健康检查)
✅  1. 三个测试用户登录(验证码 → JWT)
✅  2. 拉取附近咖啡馆
✅  3. A 发起邀约
✅  5. B 申请加入 → PENDING
✅  7. A 的申请队列收到 B
✅  9. A 接受 → B 已 ACCEPTED
✅ 10. 双方互发消息
✅ 12. 会话列表读到 1 条 thread
✅ 13. 履约完成 → A / B 信用分各 +2
✅ 14. B 给 A 提交 5 星评价
✅ 14b. 详情接口返回 myReviewId,防重复评价
─── 9 类边界断言(全部应被拒绝)───
⛔  4. 自己申请自己的邀约
⛔  6. 重复申请同一邀约
⛔  8. 非发起人试图 accept
⛔ 11. 给自己发消息
⛔ 15. 重复评价
⛔ 16. 评价一个未完成的邀约
⛔ 17. 给未参与的邀约评价
⛔ 18. 取消已完成的邀约
+ 信用分 delta 断言

当前进度

模块状态说明
后端 API(8 个 routes + 7 个测试集)已完成含履约完成、评价提交完整业务闭环
iOS 核心功能(认证/地图/邀约/聊天/评价)已完成WebSocket 实时聊天
高德地图 SDK 接入进行中AMapHostView 封装完成,CocoaPods 构建中
E2E 冒烟 + 种子数据已完成6 店 / 5 用户 / 10 邀约
微信小程序版本待启动
30 分钟
即时邀约履约时限
4 大话题
职场 / 创意 / 副业 / 语言
8
后端模块全部完成
18
E2E 全绿(14 业务 + 9 边界断言)
← 返回产品矩阵