1. 项目概述:当AI遇见心理学
SBTI(Soul-Based Type Indicator)是我最近完成的一个有趣项目,它用技术手段重新定义了人格测试。传统MBTI测试大家应该都玩过——选几个ABCD就能给你贴个标签。但作为开发者兼心理学爱好者,我总觉得这种测试太"表面"了。于是我们团队花了三个月,用Next.js 15+NestJS+Gemini 1.5打造了这个能捕捉潜意识反应的AI测试系统。
这个项目的核心突破在于:我们不仅分析用户选了哪个选项,更关注用户是怎么做出选择的。比如面对"遇到困难时你倾向于?"这种问题时,快速选A和犹豫5秒后选A,反映的人格特质完全不同。系统会追踪27个维度的行为数据,通过Gemini 1.5分析出连用户自己都可能没意识到的心理模式。
技术提示:现代前端框架的精确计时能力让这种微观行为分析成为可能。在React中我们用performance.now()而非Date.now()获取毫秒级时间戳,误差控制在±5ms内。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 前端技术栈选型
选择Next.js 15是经过严格AB测试的决策。我们对比了三种方案:
- 纯CSR方案(Create React App):首屏速度慢,不利于SEO
- 传统SSR方案:开发体验差, hydration问题多
- Next.js App Router:完美平衡
实测数据:
| 方案 | TTI(ms) | FCP(ms) | SEO评分 |
|---|---|---|---|
| CSR | 3200 | 1500 | 40 |
| SSR | 1800 | 800 | 85 |
| Next15 | 1200 | 600 | 95 |
特别说明shadcn/ui的选择:这个headless组件库让我们可以保持90%的定制自由度,同时省去60%的基础组件开发时间。比如答题卡组件:
tsx复制<Card className="w-[350px]">
<CardHeader>
<QuestionText>{currentQuestion}</QuestionText>
</CardHeader>
<C
