Expense Buddy:本地优先的费用追踪,支持 GitHub 同步
Source: Dev.to
概览
多年来我尝试了各种记账应用,却总是遇到同样的问题:流程慢、界面杂乱,而且总有一种感觉自己把太多数据交给了它们。于是我自己动手做了一个。
Expense Buddy 是一款以隐私为先、本地优先 的记账工具,使用时几乎不干扰你。它基于 React Native(Expo)构建,默认所有数据都保存在设备本地,并提供可选的 GitHub 同步功能,让你自行掌控备份。
关键特性
- 默认本地优先 – 数据始终保存在设备上。
- 设计上私密 – 没有分析、广告或数据出售。
- 大数据集下依然快速 – 轻量 UI 与虚拟化列表。
- 可选 GitHub 同步 – 跨设备保持数据同步。
- 每日记账,支持分类和付款方式标签。
- 完整历史视图,可编辑过去的记录。
- 增量、差分、批量提交的 GitHub 同步。
- 深度分析:分类、付款方式细分、卡片/UPI 级别拆分以及支出趋势图表。
- 可自定义颜色和图标的分类。
- 保存的付款工具(卡片和 UPI ID)。
- 应用内 “更新日志” 提示。
- 可直接从设置页面报告问题。
- 支持浅色和深色模式,主题感知样式。
仪表盘
仪表盘充当“每日签到”页面,快速展示近期支出和简洁的 7 天趋势图。图表可点击,直接跳转到对应日期的记账条目。
添加支出
添加支出故意设计得非常简单——单屏流程,快速选择分类和付款方式,让你在几秒钟内完成记账并继续其他事务。
分析
分析标签页展示资金流向:
- 分类
- 付款方式
- 已保存的工具
你还可以查看支出趋势,并在同一页面比较多个时间窗口(例如 “本周” 与 “最近 3 个月”)。
历史
历史视图让你浏览过去的记录,打开任意支出条目并直接在原位修改——无需进入单独的编辑模式或四处寻找。
设置
设置页面刻意保持简洁:
- 设置默认付款方式。
- 添加或编辑自定义分类(应用默认提供 8 种分类)。
- 管理已保存的付款工具,以获得更深入的分析。
- 启用 GitHub 同步,实现跨设备数据同步。
- 选择在更改时或应用启动时自动同步。
GitHub 同步(可选)
设计为安全、可预测且完全可选:
- 每日 CSV 文件 – 支出以
expenses-YYYY-MM-DD.csv的形式存放在你的仓库中。 - 先合并工作流 – fetch → merge → push,避免意外的数据丢失。
- 冲突处理 – 基于时间戳的解决方案;仅在必要时提示真实冲突。
- 差分上传 – 只上传有变动的文件,批量合并为一次提交。
- 设置同步 – 分类和已保存的工具可通过
settings.json同步。
性能
我对卡顿的列表极度敏感,所以性能是首要目标。虚拟化列表、记忆化组件以及轻量状态层确保即使在长历史记录下也能保持流畅。界面保持极简,记一笔支出只需几秒,而不是几分钟。
可用性
- 使用本应用不需要任何外部账号。
- GitHub 同步为自愿选项,文件存放在你自己的仓库(每日 CSV)。
- 不会出售任何数据。
Expense Buddy 目前在 Google Play 进行内部测试。想获取访问权限,请在 X(Twitter)上私信 @sudokaii 或发送邮件。