独立开发技术复盘创业故事

从0到1开发AI面试助手:一个在校生独立开发者的技术架构与实践复盘

offer吸食怪· UCI CS本科 / 即答侠开发者2025-08-1416 分钟阅读

背景

我叫Lucian,UCI(加州大学尔湾分校)CS大二学生。2024年开始做即答侠(HireMe AI),一个人从零做到2000+付费用户。

没有融资,没有团队,没有创业经验。就是一个技术宅觉得"面试辅助这事AI应该能做好",然后开始写代码。

这篇文章是完整的技术复盘,包含一路上踩过的所有坑。

1. 从 Flask 到 Next.js:架构演进

1.1 v1.0 — Flask 单体应用

第一版是纯 Python Flask 应用,一个 interview_assistant_system.py 文件写了11600 行。是的你没看错,一万一千行在一个文件里。

功能包括:

  • 用户认证(session-based)
  • 面试模板管理(ChromaDB 向量存储)
  • 语音面试(Azure Speech SDK)
  • 记忆系统(OpenAI embeddings)
  • 49 个 HTML 模板

这个版本的问题很明显:

  • 性能差:Flask 是单线程的,并发一高就卡
  • 前端体验差:Jinja2 模板 + jQuery,交互能力有限
  • 部署复杂:Python 依赖管理是噩梦

1.2 v2.0 — Next.js + 独立后端

全面重构为 Next.js 16 + TypeScript:

  • 前端:Next.js App Router,React Server Components,Tailwind CSS
  • 认证:自研 JWT + better-sqlite3(WAL模式)
  • i18n:next-intl,中英文双语
  • API:Next.js Route Handlers,部分功能保留 Flask
  • 桌面端:Electron,共用 Web 前端代码

重构花了3个月,但效果立竿见影:页面加载时间从 3-5 秒降到 < 1 秒,用户留存率翻倍。

2. 实时语音识别的曲折之路

2.1 Azure Speech — 第一选择

最初用的是 Azure Speech SDK,优点是中文支持好。但在 Electron 桌面端遇到了严重的兼容问题:SDK 的 native binding 在打包后经常崩溃。

2.2 Whisper — 太慢

尝试了 OpenAI Whisper 本地推理。准确率不错,但延迟 3-5 秒,完全不能用于实时场景。

2.3 FunASR — 自部署太重

阿里开源的 FunASR 效果很好,但需要 GPU 服务器来跑。作为独立开发者,每月多几百美元的 GPU 费用不现实。

2.4 Deepgram Nova-2 — 最终选择

最后落定 Deepgram:

  • WebSocket 流式传输,延迟极低(200-400ms)
  • 中英文混合识别优秀
  • 按量付费,每分钟 $0.0043,成本极低
  • 无需自建基础设施

3. Electron 桌面端开发

3.1 为什么做桌面端

Web 版有三个致命限制:

  1. 无法捕获系统音频:浏览器只能访问麦克风,拿不到 Zoom 里面试官的声音
  2. 无法做到隐身:浏览器标签页在屏幕共享时会被看到
  3. 稳定性差:标签页切换会导致 AudioContext 被暂停

3.2 核心技术挑战

系统音频捕获:macOS 上使用 AudioTee 创建虚拟音频设备;Windows 上使用 WASAPI Loopback。

隐身窗口:macOS 的 setContentProtection(true) 和 Windows 的 SetWindowDisplayAffinity。

自动更新:使用 electron-updater,检测到新版本自动下载安装。

3.3 跨平台打包

需要分别为 macOS(Apple Silicon + Intel)和 Windows 打包,使用 electron-builder。最坑的是 macOS 的代码签名和公证(notarization),苹果的开发者流程能让人抓狂。

4. AI 模型优化

4.1 Prompt 工程

Copilot 的核心 prompt 经过了几十次迭代。关键原则:

  • 角色设定明确:你是面试教练,不是面试代答机
  • 输出格式固定:STAR框架/要点列表,方便快速阅读
  • 长度控制:150-200字,太长面试中来不及看
  • 上下文传递:把之前的问题和回答作为上下文,保持连贯性

4.2 模型选择策略

不同功能用不同模型,按需选择:

  • 实时Copilot:GPT-4o-mini(速度优先)
  • 模拟面试:DeepSeek V3(性价比优先)
  • 简历优化:Claude Sonnet(长文本理解优先)

这套组合让每场面试的 AI 成本控制在 ¥1 以内。

5. 增长复盘

5.1 关键里程碑

时间用户数关键事件
2024.080第一版上线,纯Flask
2024.1050CSDN文章带来第一批用户
2025.01200桌面端上线,隐身功能引爆口碑
2025.04500Next.js重构完成,体验大幅提升
2025.081000豆包/千问AI推荐即答侠
2026.032000+模拟面试上线,功能闭环

5.2 增长渠道

  1. CSDN 技术博客(40%流量来源):竞品对比文章、技术深度文章
  2. AI 工具推荐(30%):豆包、千问等AI搜索推荐
  3. 口碑传播(20%):用户分享给同学/朋友
  4. 搜索引擎(10%):百度/Google 自然搜索

6. 经验教训

  • 先做MVP,再优化:第一版丑到我自己都不想用,但它验证了需求
  • 不要过早优化架构:11600行的单文件撑了半年,重构时才知道真正的需求是什么
  • 选对模型比调prompt重要:GPT-4o-mini 的速度让体验质变,不是调 prompt 能补回来的
  • 桌面端是护城河:纯Web产品太容易被复制,桌面端的系统音频+隐身是真正的壁垒
  • 写博客是最好的营销:CSDN上的技术文章带来了40%的用户,零成本

总结

从一个课余项目到2000+付费用户,即答侠证明了一个人也能做出有竞争力的产品。关键是:找到真实需求 → 用技术做出差异化 → 通过内容营销获客。

如果你也是独立开发者,欢迎交流。如果你在找工作,欢迎试试即答侠。

即答侠官网:interviewasssistant.com

准备好提升你的面试表现了吗?

即答侠 AI 面试助手 — 实时语音识别、智能回答建议、模拟面试练习

免费试用

本文首发于 blog.csdn.net

评论

|
我
加载中…