灵码 QR(qr.linmaa.com)是我做的二维码美化与数据平台:生成、美化、批量、扫码统计,都在一个地方。 产品、设计、前后端、部署、运营,全是我一个人。
这篇文章不讲"如何打造爆款",只讲一个人把一个想法做成能用的东西,中间做了哪些判断。

为什么做这个
起因特别朴素:我自己要给别人做二维码,试了一圈现有工具,发现它们分成两类。
一类只能生成图片 —— 好看是好看,但你不知道谁扫了、什么时候扫的。另一类专注统计 —— 但想改个颜色、加个 Logo,就要开会员,批量生成更是要升级到很贵的套餐。
我的需求其实很普通:把「美化 + 统计 + 批量」放进同一个地方。
这个需求小到不值得大厂做,但又真实到我自己每周都要用。对我来说,这就是一个合适的产品起点:需求具体、边界清楚、我能独立完成。
功能是怎么砍出来的
做产品最难的不是决定做什么,是决定不做什么。我给自己划了四条线:
- 扫码数据是核心,不能是附属品。很多工具把统计做成"高级功能",我把它放在主流程里。
- 导出格式不做妥协。SVG / PNG / WebP 三种,因为不同场景真的需要不同格式:印刷要矢量,网页要体积小,社交要兼容性。
- 批量是刚需,不是彩蛋。一次活动上百个码是常态,一个个生成等于没做。
- 不做账号体系之外的重功能。团队协作、审批流、白标,这些都很诱人,但会把产品拖向另一个方向。
这四条线的好处是:每次我想加功能,都能先问一句"它在不在这四条里"。不在,就先不做。
技术上做了什么
美化引擎
二维码美化的难点在于:你能改的东西越多,能扫出来的概率就越低。
颜色、形状、Logo 位置,每一项都在侵占二维码的容错空间。所以这部分不是"把参数暴露给用户",而是在背后做约束:根据容错级别反推每一处能改到什么程度,超出的部分就不让它改。
到这里就明白一件事:产品设计和技术实现不是两件事,"什么不让用户做"就是技术决策。
批量生成
看上去只是循环一百次,实际上要解决的是另外三个问题:一百个码的数据怎么存、生成过程中怎么给反馈、失败的那几个怎么重试。
我的做法是先落库、再异步生成,前端用任务状态轮询。这样即使关掉页面,任务也还在跑。
扫码数据
平台上目前有的维度:趋势、时段、地区、设备、来源、UTM。
做统计最容易犯的错是"什么都想统计"。我最后留下来的是:能用来做决策的那几项。比如"哪个时间段扫码最多"能决定活动几点开始投,"哪个渠道带来的最多"能决定预算往哪放。
一个人做产品,最难的其实不是写代码
这是我强调多次的观点。
第一,写代码是最确定的事。 有 bug 就修,有需求就写,投入和产出基本成正比。真正不确定的是:这个需求到底成不成立、用户到底会不会来。
第二,运营是另一份工作。 上线只是开始。上线之后要面对的是:怎么让人知道它、怎么让人第一次就上手、怎么让人第二次还回来。这三件事的技术含量不比写代码低。
第三,你得耐受"没人用"的阶段。 这是最难的。你会反复怀疑:是不是功能不够多?是不是界面不够好?然后开始加功能 —— 而大多数时候,问题只是还没人知道你。
现在到哪一步
说实话:它上线了,功能是完整可用的,但目前还没有多少用户。
我把这件事写出来,是因为网上讲独立开发的内容,大多发生在"已经成了"之后。中间那段最难熬、样本最少,反而最值得记录。
所以现阶段我不打算公布用户数字 —— 它还没到值得拿出来说的时候。我能说清楚的是已经做完的部分:
- 生成、美化、批量、统计四条主链路全部打通
- 从 0 到 1 独立完成:产品设计、前后端开发、部署上线
- 一直在迭代,没有停
下一步很具体:接入支付。一个工具如果收不到钱,就很难判断它到底有没有价值 —— 付费是最诚实的反馈信号。
几句总结
如果你也在犹豫要不要做自己的产品,我的经验只有三条:
- 从一个你自己每周都会用的小需求开始。不要从"做什么能赚钱"开始。
- 先把边界画清楚,再动手写代码。砍功能的痛苦远小于重构的痛苦。
- 接受前半年可能没人用。这段时间不是白费,是在攒判断力。
产品还在长,我会把后面的过程继续写下来。