案例 · 我们自己的产品

Mony:支持四种语言的付费家庭财务应用,由 Candora 团队开发并运营。

Mony 是一款面向个人和家庭的记账应用。它不是客户项目:Mony 是我们自己的产品,所以我们可以在这里公开其中的决定和数据。

填写简短需求打开 Mony (打开另一个网站)

背景

我们想要一款每天点几下就能记账的应用,既适合一个人,也适合一个家庭,没有广告,不出售数据,也不索要银行密码。

Mony 可试用 14 天,无需绑定银行卡,之后订阅价格为每月 25,000 印尼盾或每年 199,000 印尼盾。试用期结束后,未订阅的账号仍可打开,数据也不会被删除;停止的只是新的记账。

手机上的 Mony 首页:总余额、本月收入与支出,以及各项预算的剩余金额。
应用截图,其中的数字均为示例数据。
Mony 的预算页面:每项预算本月还剩多少钱。
应用截图(印尼语界面),其中的数字均为示例数据。

挑战

四种语言,其中一种从右到左
印尼语、英语、中文和阿拉伯语集中在一个应用里,不为每种语言单独做版本。
应用更新时,财务数据不能出错
每个新版本都可能改变已存有用户记录的数据库结构。
在普通手机上也轻快
用户在手机和笔记本上打开 Mony,网络往往不够快。
为移动应用做好准备
Android 和 iOS 应用可能随后推出,到那时服务器不应需要重写。

技术决策

先做 PWA
一个可以安装到手机主屏幕的网页应用,每种语言都有自己的 manifest。用户不必等待应用商店。
Go 服务器与 SQLite 数据库
一个程序、一个数据库文件:易于运行、备份和迁移。
先备份再迁移
数据库结构变更之前,先生成备份副本。每一步都在事务中执行,失败即回滚;旧版本程序会拒绝打开更新版本的数据库。
语言是设计的一部分
文本来自按语言划分的翻译文件,阿拉伯语的版式方向切换为从右到左。
为移动应用准备好的 API
除了网页会话,服务器已经支持移动应用令牌,并有一份由测试保证始终一致的 OpenAPI 文档。
公开页面不加载第三方脚本
Mony 的公开页面不加载任何外部脚本,也不设置 Cookie。

可衡量的结果

4 种语言
印尼语、英语、中文和阿拉伯语,阿拉伯语采用从右到左的版式。
480 个自动化测试
145 个服务器测试(Go)和 335 个界面测试用例,统计于 2026 年 10 月 15 日,包括数据迁移测试。
约 260 KB
mony.candora.id 首页首次访问的大小:HTML、样式、脚本、字体和图片,均为压缩后大小。
0 个第三方脚本
在 Mony 的公开页面上,而且这些页面不设置任何 Cookie。
14 天
无需绑定银行卡的试用期,之后订阅价格为每月 25,000 印尼盾或每年 199,000 印尼盾。

以上数字根据 Mony 的代码和网站构建结果计算,而非估算。我们不公布用户数量。

我们学到的

从第一天就考虑从右到左
一开始就使用逻辑方向(起点和终点,而不是左和右),比事后翻转版式便宜得多。
代码里的命名也影响成本
Mony 最初的数据库结构使用印尼语命名。改成英语需要一次完整的迁移和配套测试。现在我们在写第一行代码之前就确定命名规范。
说法必须可以核实
本页的每个数字都根据代码或构建结果计算。无法证明的,我们不写。
还没有的,就说还没有
Mony 还没有在 Play Store 或 App Store 上架。这一点我们在这里和 Mony 网站上都如实说明。

想用同样的方式打造您的家庭类产品?

五个简短问题,然后用您自己的 WhatsApp 或电子邮件发送消息。

填写简短需求

聊聊项目