欢迎来到独立开发者节点!这里是我们记录创造过程、交流技术心得、互相启发灵感的自留地。

为了保持节点内高质量的讨论氛围,发帖前请大家遵守以下规则:

  • 鼓励分享与复盘: 非常欢迎分享你的独立开发产品、踩坑经验、增长数据或是技术难点。
  • 推广请附带思考: 允许推广个人作品,但请拒绝纯丢链接的硬广。发帖时请务必分享你的开发故事、技术选型或解决的痛点。
  • 提问请补充细节: 寻求技术或运营帮助时,请提供充足的上下文(如报错信息、已尝试的方案),以便大家更好地帮助你。
  • 保持友善与尊重: 尊重彼此的技术选型和商业方向,拒绝无意义的争吵和引战。

⚠️纯外包接单、账号交易或非个人开发的商业软文,请发布到对应的专门节点!


  • 最后祝你在独立开发的路上不再孤单,早日做出让自己骄傲的产品!
darkrio

因为一直坚持不了记账,我做了一个支持截图和酒店水单的本地优先账本 App

  •  
  •   darkrio · 1 day ago · 255 views

    因为一直坚持不了记账,我做了一个支持截图和酒店水单的本地优先账本 App

    大家好,最近把自己做的记账 App AutoLedger 更新到了 1.6.0 ,目前已经在 iPhone 、iPad 、Mac 、Apple Watch 、Apple TV 和 visionOS 上发布。

    这是我第一次觉得,它不再只是一个“可以识别支付截图的小工具”,而是逐渐变成了一个能够长期使用的个人账本,所以想来分享一下,也听听大家比较直接的意见。

    为什么又做了一个记账 App

    原因其实很个人:我一直知道记账有用,但始终养不成习惯。

    传统记账流程对我来说摩擦比较高。每次消费后还要重新打开 App ,手动输入金额、商户、分类和时间,几天没有记录之后,基本也就彻底放弃了。

    所以 AutoLedger 最初只想解决一件事:

    尽量利用已经存在的消费信息,减少手动输入,让记账变成一件可以顺手完成的事。

    比如支付截图、小票、剪贴板文本,或者直接说一句“午饭 28 元”,让 App 先整理出账单信息。

    不同入口目前采用了两种流程:

    • 截图、小票、实时 OCR 和酒店水单等存在识别误差的内容,会先生成候选,由用户检查后再保存;
    • 快捷指令主要追求最低记录摩擦,默认直接写入账本,入账后仍然可以在历史记录中查看和修改。

    我自己持续使用之后,确实慢慢建立起了记录消费的习惯。

    目前支持哪些记录方式

    目前的日常记账入口包括:

    • Siri 、快捷指令和 App Intent 一键入账
    • 支付截图、相册图片和相机小票识别
    • App 内语音和一句话文本记账
    • Share Extension 分享导入
    • Apple Watch 快速记录
    • 实时 OCR 扫描票据
    • 手动录入

    在 App 中使用截图、票据和 OCR 等识别路径会先进入确认页面,可以检查金额、商户、分类和时间。

    快捷指令一键截图记账则默认直接入账,因为用户通过快捷指令等外部方式记账并不会打开 App ,再强制确认一次,反而会削弱“一键记账”的意义。

    账本部分目前包括:

    • 多账本管理
    • 自定义分类和来源
    • 月报、分类统计、消费趋势和商户排行
    • 订阅记录与周期提醒
    • 数据导入、导出和备份
    • iCloud / CloudKit 多设备同步

    iPhone 、iPad 和 Mac 是主要操作平台,Apple Watch 用于快速记录; Apple TV 和 visionOS 目前主要提供只读的账本摘要、最近记录和月报展示。

    为什么单独做酒店消费

    后来因为自己比较喜欢旅行和住酒店,又发现普通流水模型并不适合酒店消费。

    普通消费通常记录金额、商户和分类就够了,但一张酒店水单中可能还包括:

    • 酒店名称、品牌和地点
    • 入住与退房日期
    • 入住晚数和房型
    • 房费、税费和服务费
    • 餐饮及其他挂房账消费
    • 预授权和最终结算
    • 订单号、支付方式和来源文件

    所以我把酒店消费做成了独立模块。

    现在可以手动导入酒店水单 PDF ,提取内容后进入复核,再生成一条住宿档案和对应的普通消费流水。

    它想保存的不只是一笔总金额,而是一次完整的住宿消费记录。

    这也是 AutoLedger 和普通记账 App 差异比较明显的部分。不过我也承认,酒店水单是一个相对小众的场景,因此也想看看真实用户是否真的需要这种记录方式。

    关于自动化的取舍

    我并不认为所有记账方式都应该强制使用同一条流程。

    截图、票据和酒店水单可能存在识别错误,因此更适合先生成候选、由用户确认;而快捷指令是用户主动触发的明确输入,更适合直接入账。

    所以目前的设计是:

    • 需要识别和复核的内容,先确认再保存;
    • 用户主动发起、内容明确的快捷指令,默认直接入账;
    • 所有已经入账的记录仍然可以继续查看和编辑。

    目标并不是单纯追求步骤越少越好,而是在准确性与记录摩擦之间做区分。

    本地优先和云端边界

    AutoLedger 的核心账本不需要注册账号,消费数据首先保存在本机。

    启用 iCloud 同步时,数据通过用户自己的 iCloud 账户同步。基础记账不会要求把完整账单、截图或酒店档案统一上传到我的服务器。

    目前也有少量可选的云端能力,例如:

    • 公共地点、币种和汇率数据
    • 酒店历史天气
    • 订阅权益验证
    • Pro 酒店水单专属收件箱
    • 用户主动开启后的脱敏整理建议

    云端水单收件箱只处理用户主动转发到专属地址的邮件,不会登录或扫描用户的私人邮箱。下载后的候选仍然需要在 App 内复核,不会直接创建正式账单。

    我更倾向于把自动化理解成“减少重复工作”,而不是替用户做决定。

    Free 和 Pro

    基础记账流程长期保持免费,目前包括:

    • 手动记账
    • 单张截图和小票识别
    • 实时 OCR
    • 语音、文本和快捷指令
    • 手动酒店水单 PDF 导入
    • 历史记录查看、编辑和删除
    • 基础订阅管理和月报
    • 基础数据导入、导出和备份

    Pro 主要提供省时间的自动化能力,例如:

    • 本地邮箱酒店水单扫描
    • 专属酒店水单收件箱
    • 批量候选处理
    • 高级搜索和去重
    • 订阅异常提醒
    • 月结资料包
    • 智能整理建议
    • 高级规则自动应用

    坦白说,目前 Pro 的邮箱授权和部分自动化流程仍然存在一定使用门槛,我自己也不是这些能力的高频用户。

    所以现阶段的重点仍然是把免费的基础记账体验做顺,而不是急着推动订阅转化。

    1.6.0 主要做了什么

    这次版本主要完成了:

    • 实时 OCR 票据扫描
    • 日常账单识别与确认流程
    • 快捷指令一键入账
    • 酒店水单复核与住宿档案
    • 多账本和月报体验完善
    • iPhone 、iPad 、Mac 和 Apple Watch 多端体验
    • 启动、Tab 切换和部分大账本场景的性能优化
    • iCloud 同步流程优化
    • 韩语界面和识别支持
    • 五种语言的 App Store 截图和 App Preview

    它肯定还不完美,但确实是第一个让我觉得“可以认真拿出来介绍”的版本。

    目前最想听到的反馈

    相比泛泛的“好不好用”,我目前更关心这些具体问题:

    • 第一次打开后,能不能快速理解如何记录第一笔账?
    • 截图和 OCR 的确认流程是否合理,还是显得太重?
    • 快捷指令默认直接入账,是否符合“一键记账”的预期?
    • 实时 OCR 和截图导入,哪种方式更符合实际习惯?
    • 酒店水单模块是否容易理解,还是显得过于小众?
    • 本地优先与可选云端能力的边界是否表达清楚?
    • iPhone 、iPad 和 Mac 上是否有明显卡顿或布局问题?

    项目仓库目前公开可见,但采用的是 source-available 非商业许可证,允许学习、研究、安全审查和非商业评估,不允许直接重新发布、白标或用于商业竞争产品。

    相关链接

    感谢看到这里。

    批评直接一点也没关系,尤其是首次使用路径、隐私边界、快捷指令流程和酒店消费定位方面的问题,对后续迭代会比较有帮助。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1050 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 22:44 · PVG 06:44 · LAX 15:44 · JFK 18:44
    ♥ Do have faith in what you're doing.