网上流传日记、记账和代办是独立开发者新人的三件套,为什么记账软件那么多,我还要做一个记账小程序? 本文将以这个话题抛砖引玉,让大家了解到独立做一款产品需要掌握哪些知识
一、前言
众所周知现在的行情,程序员圈越来越卷,普通大学毕业生拥有一份对口工作已经算不错了,且在30岁之后还要面临这 被毕业 的风险,越来越多的程序员开始谋取后路。
因此做一款自己的产品,拥有 “睡后” 收入是绝大部分程序员梦寐以求的后路,并且转做独立开发者也是最贴合自己能力,即变相的门槛较低的尝试。
二、为什么记账是新人独立开发者的三件套之一?
1. 原因
作为打工人想独立做一款自己的产品,通常会选择自己日常使用频率较多,且需求简单的软件开始入手,而这三件套恰恰满足了这两点,因此基本每位独立开发者的第一个产品,都会是这三件套之一,或者从这三件套开始了解
2. 是否还可以做
个人见解:可以做
其实从打工人转向独立开发者,最困难的不是技术层面能力,而是从技术思维转变成产品思维,大部分转职失败的程序员究其原因基本是过多的停留在技术层面,兴致勃勃的花了几个月做出了一个产品,结果一个月后用户量基本为零,最终黯然离场。
因此三件套,或者任何低门槛、无高技术要求的软件都建议做,因为其时间成本和技术成本较低,是培养你产品思维的敲门砖,你这一生不会只做一个产品,不要一开始就想一炮而红做出爆款走上人生巅峰。
三、我为什么做:不满现有记账软件现状
其实做记账小程序我之前是 鲨鱼记账APP 的忠实用户,在今年发现其广告越来越多,并且多人记账要会员、数据导出要会员、也没有自动记账的功能,而其他拥有自动记账功能的APP基本都是要付费,诸如此类原因。
因此我做库库记账小程序的契机,其实是满足自己的记账需求,而非为了赚钱去做一个产品。
四、从开发记账小程序中提取出一个产品完整工作流程
本文并不是为了介绍我的产品广告文,而是给广大想做独立开发者的伙伴一个方向,大致了解自己独立做一款产品有哪些步骤,又需要掌握哪些知识点
1. 用户需求梳理
作为多年记账软件的用户,我的需求就是用户需求了,因此我自己梳理了一下
- 用户需求
- 记账
- 多账本
- 多人记账
- 统计报表
- 自动记账
- 产品需求
- 使用门槛低
- 界面尽量好看
2. 技术选型
因为我是全栈,可选择的比较多了,我大概罗列了一下
- 后端
- Java/springboot
- Node/fastify
- Go/gin
- APP
- kotlin/android
- Dark/flutter
- Vue/uniapp
- 微信小程序
- Vue/uniapp
因此综合用户需求、开发效率、服务器性能要求,很快便选择了 Node/fastify + 微信小程序/Vue/uniapp + PostgreSQL 的组合。
3. 开发
数据库设计和基础功能开发就忽略了,毕竟记账小程序没有什么技术难点,唯一值得说的自动记账功能的实现思路就比较多了,且在不同系统上有不同的解决方案
- iPhone:快捷指令截屏 + 正则匹配金额
- Android:无障碍功能 + 正则匹配金额
- Android:监听系统消息,读取支付通知 + 正则匹配金额
- 支付软件:抓取支付宝微信的账单接口读取 + 正则匹配金额
因此很快就选择了方案1,说说原因
- 安卓无障碍其实挺危险,如果我比较无良就能获取用户隐私,而记账软件又不能不联网,PASS
- 稳定性不好不可靠,很多软件支付后是没有消息通知的
- 太刑了,且要用户自己回填token之类,操作门槛也较高
4. 测试
这是开发者比较容易忽视的一个环境,这个测试不是说要求一定要后端前端都写满测试用例,而是你至少要站在用户的角度,真正去使用一下你自己的产品,并且各种表单输入要做校验,后端要做权限控制等等,这些也是新手独立开发者比较容易忽视的地方
5. 部署
- 服务器
- 购买了某里云 99 一年的 2C2C 云服务器,毕竟用户量少,且 fastify 和 postgresql 内存占用都不高,完全足够了
- 域名
- 购买个域名一年100上下,备案这个环节也不难,花点时间按云服务商的指引做就好
- 后端部署
- 我是使用自建 Gitea + Gitea Actions + Docker 部署,这套CICD搭建好,基本代码
git push推上去就全自动化了,如果大家感兴趣后面我再专门写篇文章介绍这套CICD方案
- 我是使用自建 Gitea + Gitea Actions + Docker 部署,这套CICD搭建好,基本代码
- 小程序部署
- 记账类个人也能做,所以没什么门槛,打包部署也是
CICD搞定
- 记账类个人也能做,所以没什么门槛,打包部署也是
6. 盈利
记账软件赛道卷是卷,但我运营了两三个月,没有花钱去推广过,也没有在社交媒体去推广,到目前总用户量也破万了,日活基本近百人,由于我自己做软件的出发点就是受不了众多广告,所以我自己开发的库库记账小程序也是坚持不塞广告,因此盈利点就只剩下了开会员,由此可见一款产品最常见的两个盈利分别是:流量主广告、用户付费(会员+付费功能)
以目前的用户量,我月盈利基本一两百块,都是来源于用户开通会员。这点收入对于主业工资着实微乎其微,对于我其他产品收入也是天差地别,但我还是以库库记账为例来给大家介绍,因为这是一个很典型的案例,并且除了收入,当你看见有其他用户在使用你的产品,有用户给你提建议,甚至愿意付费,你也会收获的成就感。
因此不用担心竞品多,做一款产品就算再卷,只要解决用户需求,也会有一定用户量,且如果你的付费功能足够吸引人,也会有人愿意付费。勇敢踏出第一步,就算失败了,也比唯唯诺诺了苦思冥想什么都没做要强。
五、最后
能看到这的朋友希望本文能对你们有所帮助,最后贴下我的小程序吧,有记账需求的也可以使用看看,若有任何问题或建议或关于独立开发的交流,也欢迎大家评论区留言或私信讨论。