分享我独立开发第一款产品 Time On Web 的经过

1,935 阅读10分钟

这一年来我在围城外看到了许多独立开发者做出各种各样的产品,今天终于轮到我了,我鼓起勇气写下这篇文章来介绍我的产品和做这个产品的心得。

其实我一直就想尝试做独立开发,不用上班还能挣大钱!(真心话,但是太俗划掉) 但是我工作是做服务端开发的,所以独立开发的最佳赛道 iOS 就和我没啥缘分了,那只剩下做做网站卖点服务这样子。但是前端技能我也不是很熟悉,这么一想后端开发一个人做产品真的没啥优势啊(╬ Ò ‸ Ó) !不过幸好有 AI 祝我。然而程序员倒是有了,好的 idea 并没有,虽然这两年 AI 火爆了,随便一个套壳 GPT 都能收费,但是我确实没那么强的技术做出一个能说服我自己这不是垃圾的 AI 产品,所以我的独立开发一直停留在幻想中。后来有一天我上班划水刷知乎,突然奋斗的意识觉醒,觉得自己不能在浪费时间在这个地方,于是就关闭网页,但是过了一会儿又觉得有点无聊,手不自觉的打开了知乎,当时脑子就冒出另一个想法:有没有什么插件可以限制我访问网站啊?于是在网上一搜果然有类似的插件,试用了几个感觉一般,没有一个是完全满足我的要求的,等等...那不然我自己做一个?于是一路坎坷之后我的第一个独立产品出来了

Time On Web 是一款浏览器扩展,用来统计用户在每个网站上的访问时间,并提供访问限制、统计等功能。你可以简单理解成手机上的『屏幕时间管理』。Time On Web 提供基本免费功能的使用和一次性买断两个版本,如果不排斥付费软件可以下载试用,看看一个没有任何高大上 title 的程序员业余时间独立开发做产品能做到什么水平。Web Chrome Store 直达链接或者 Time On Web 官网

unnamed.png

独立开发做产品的想法是这么来的?如何坚持把产品做出来的?这些问题应该很多人都很好奇,所以我分享下 Time On Web 的想法是怎么来的。

想法有了,但是看了那么多独立开发者失败的案例,在做之前我还是假模假样的分析了一番:既然已经有类似的扩展,并且都有一定的下载量,那么说明这个东西是有需求的,而且我有信心可以做的比这些竞品好。

信心归信心,我也明白这个东西目标用户群很小:首先得是 PC 用户,并且有能力访问 Chrome Web Store,这个门槛太高了。所以在雄心壮志创建好项目文件夹不久我开始犹豫了:这东西能触达到需求人群吗?会有人用吗?我陷入了很多独立开发者都会面临这样的问题:从一开始的信心满满到自我怀疑。

不过很幸运我一直坚持做 Time On Web 并且成功发布第一版本,恭喜自己。这两年有一个词:build-in-public,大意就是:将构建产品的过程公开。比如你看到这篇文章就算是我在 buildinpubilc。buildinpublic 带来的一个后果就是:我 TM 在网上看到太多人晒自己的成绩,包括不限于:很多的用户数、很好看的 landing page、做产品的心得、用户好评、甚至是收入。说实话我太羡慕了,羡慕他们的收入、产品、甚至羡慕他们勇于在网上发表自己观点的勇气。而这种强烈的羡慕支撑我走过自我怀疑的时间,让我能够坚持自己的想法完成我的产品。

而在这个过程中,我发现我的心态也渐渐转变了:一开始我希望产品可以被认可(最好还能卖钱),渐渐变成开始享受思考产品的过程。我能想得到产品发布之后无人问津、被嘲笑闭门造车、被人说 Bug 很多等等负面评价,但是这些都不会再让我感到挫败,因为做 Time On Web 以及把过程写下来就让我感觉很不错。这么一想感觉自己和那些独立开发者大佬的差距只剩下技术水平了。

虽然 Time On Web 不复杂,但是第一个独立完成一个产品,还是有一些经验可以分享,希望这些微不足道的经验可以让你有种:『就这,那我也行』的感觉,然后可以鼓励正在犹豫的你做出一个自己的产品。(祝大卖

技术

在完成 Time On Web 第一个版本开发之后,我也深刻意识到:『技术在整个产品研发过程中只占据很小的一部分』,并且看到这篇文章的大部分都有研发背景,所以本来没打算谈技术实现的,但是当我在 X 上看到太多:独立开发穷鬼套餐、独立开发技术栈等帖子,我意识到大家都爱看这个,既然大家都爱看,那我也来谈谈 Time On Web 使用到的技术栈。

Time On Web 是使用 Vue3 + tailwindcss 开发的。上面提到我工作是服务端开发,前端技能不是很流畅,所以大部分代码都是询问 GPT 之后写出来的。而选择这两个框架的理由很简单:

  1. Vue3 没啥好说的,因为我不会 React,那留给我的也就剩下 Vue 了,至少 GPT 写的 Vue 代码我勉强看得懂。
  2. 我需要一个前端 UI 库,当时我给自己的选项有两个:tailwindcss 和 Ant Design Vue 两个。我看腻了 Ant Design 风格,于是果断选择了 tailwindcss。tailwindcss 网上爱的人很爱,讨厌的人也很讨厌,双方列举了很多理由,辩论很精彩,很可惜我都看不懂。反正写 tailwindcss 的也是 GPT。不过,我发现 GPT 使用 tailwindcss 写出来的 UI 页面效果让我很震惊,我只需要稍微描述下我要的 UI 界面和动效,GPT 就能轻易写出来。一样的 prompt 描述,如果不使用 tailwindcss 实现,出来的效果总是不满意。如果你和我一样,无法自己实现美观的 UI 样式,可以尝试 tailwindcss + GPT 的方案。

以上就是一个服务端程序员在独立开发时技术选择的一些经验,如果你和我一样,可以考虑尝试。

Time On Web 还有部分 API 接口,这个是部署在 Cloudflare 的 workers,并且 Time On Web 网站也是使用 Cloudflare 的 pages 部署的。数据库使用的是 neon,neon 提供的是 PostgreSQL 而不是 MySQL,虽然我更熟悉 MySQL,但是由于数据库也没几张表,所以也能勉强上手。最后,在购买成功之后会发送激活码到邮箱,发送邮件的服务是 resend

以上这些服务都提供免费版本,这是我选择这些服务的唯一原因,我也不觉得 Time On Web 的用户数能突破这些服务的免费限额。所以感谢这些赛博菩萨提供了穷鬼套餐。Time On Web 从 0 到 1 只花了一点钱买了域名而已。对了,说到域名我想强化下:我没啥创意,想不到啥好的域名,所以这个域名很长,它的意思是:how much time i have spend online。

支付

另外关于支付服务,这个话题在独立开发圈(如果真的有这么一个圈子的话)真的太火了。颇有一种:只要开通了支付服务之后,不用打磨产品就有人源源不断往我账户上打钱的感觉。不过这种讨论也确实很有必要:现在国内独立开发几乎不可能了,海外开通支付通常涉及到公司主体、不支持大陆用户、语言不通、税收等等情况,并且可能现在可行的教程,过了一个月就失效了。开通支付确实是一件很麻烦的事情,在这里我说下 Time On Web 的支付服务吧。

我比较熟悉的支付服务只有两个:stripe 和 lemonsqueezy。虽然 lemonsqueezy 已经被 stripe 收购了,但是目前仍然独立运营,所以姑且当成两个公司来看待。目前 Time On Web 使用的是 lemonsqueezy 服务。lemonsqueezy 和 stripe 都无法绑定大陆银行卡,而我只有大陆银行卡,但是 lemonsqueezy 可以绑定 PayPal 账户,所以我是直接使用 PayPal 绑定 lemonsqueezy 激活的。不过这个只是我的方案,不保证现在仍然可以通过这个方式来激活 lemonsqueezy。

以上就是 Time On Web 关于支付的全部内容,可能会让你有一种:『就这?』的感觉,没关系,接下来的经验才是我想跟你分享的:不要在支付上花费太多时间!不要在支付上花费太多时间! 不要在支付上花费太多时间! 除非你的目标用户全部都是海外用户,不然前期你完全可以放一个收款码,等收款之后手动触发后续的购买流程。在我的认知里面:『产品还做,先花几百刀注册海外公司开通 stripe』和 『面试造飞机,进来拧螺丝』是一样无厘头的。虽然 Time On Web 跑通了 lemonsqueezy 支付服务,但是因为我使用的是 PayPal 绑定 lemonsqueezy,从 lemonsqueezy 提现到大陆银行卡整个流程费率非常高,但是我并不想在支付上浪费太多精力,把有限的时间用在做 Time On Web 上更符合我的想法。我跟我老婆说:等 Time On Web 有 10 个付费用户之后,我再考虑去香港办一张银行卡,到时候顺带考虑 stripe 之类的吧。

产品

其实关于产品的想法可以写很多很多,因为产品细节很多,也有可能我第一次做产品经理有太多自以为是的垃圾想法,但至少都是我认真考虑过的想法。这里太小写不完,我已经在我的个人网站写下第一篇产品心得,并且我会在这上面更新更多内容。为什么写在个人网站上,倒不是做所谓的引流之类的,原因有两个:

  1. 万一我频繁更新,我担心各位的时间线上都是我的内容,这样太烦人了,而且我知道我的能力目前也配不上太多的目光和注意。
  2. 我的博客用的是别人的模板,握草我个人真的觉得好好看啊!

推广

推广是最难的,因为流量太贵独立开发没钱或者太抠省不得买量哈哈哈哈哈,我想这也是当前 buildinpublic 能够流行的一个原因吧。而且推广包含了太多玄学,很难说明怎样是有效的。现在你看到的这篇文章就算是我写的推广文章,但是别担心我在写这篇文章的时候尽量避免用博人眼球和夸大的字眼,我也非常讨厌事实与内容不符的文章,我也不会为了更多的流量去写那样的东西。

推广这个事情我正在慢慢探索,我会将 Time On Web 的开发、产品、推广等心得都记录下来,如果你有兴趣欢迎关注或者邮件订阅。如果 Time On Web 越来越受欢迎那么你可以从这里学到一些有用的经验,如果 Time On Web 失败了那你可以避免一些坑,再不济你可以当成一个故事会来看,我将尽量写的精彩。

等等,推广的一个重要途径就是发折扣码,所以这里有 10 个 5 折优惠码提供给各位 :JYMISCOOL,望喜欢。