克制的原生 iOS 财务产品 · 项目案例

X记账

简洁、私密且适合自动化的记账产品,在主应用、小组件、App Intents 与快捷指令之间保持专注的日常记录路径。

克制专注的界面
本地优先的隐私
系统级自动化
00

关键成果

成果 01

当前 SwiftUI 应用与 Widget 扩展可在 iOS 模拟器成功构建并运行

成果 02

四个聚焦界面覆盖概览、快速记账、记录与预算控制

成果 03

三种尺寸的小组件与 App Intents 将记账入口延伸到主应用之外

交互演示

12 秒内完成一笔记账

真实记录从空白账单到确认一笔 ¥28 餐饮支出的完整路径:打开录入表单、填写金额、选择分类并保存。视频来自已签名的本地构建,没有生成画面或摆拍界面。

11.84 秒 · 已签名 iOS 模拟器实录

01

概览

X记账 的目标不是做一个功能堆叠、层层跳转的记账工具,而是用更简洁的界面和更短的路径完成日常记录:核心信息优先,高级能力按需出现,数据默认留在本地。

  • 平静克制的界面:用清晰的信息层级、明确的主操作和充足留白降低日常记账的认知负担。
  • 隐私优先:财务数据默认留在设备本地,不把云端能力作为记账的前置条件。
  • 原生 iOS 体验:用 SwiftUI、WidgetKit、App Intents 和快捷指令构建系统级入口。
  • 产品目标:让记账链路更短、更可信,并自然融入 iOS 用户的日常动作。
02

问题

个人记账产品常见的问题不是缺少图表,而是输入成本过高、隐私信任不足、长期坚持困难。用户越忙,越容易在最需要记录的时候跳过记录。

  • 功能不断堆叠会让首页、报表和输入流程同时变得拥挤,基础记账反而更难完成。
  • 打开 App、选择分类、输入金额的链路过长,容易被日常场景打断。
  • 财务数据高度敏感,云同步和第三方分析会降低用户信任。
  • 自动化能力弱,难以融入 Widget、Siri 和 Shortcuts 等系统级入口。
03

解决方案

X记账用简洁界面与原生 iOS 能力共同缩短记账链路:主应用只保留清晰的概览、记录和预算结构,小组件负责快速查看,App Intents 与快捷指令承接自动化,本地存储保障默认隐私。

  • SwiftUI 构建轻量核心界面,让一个页面围绕一个主要任务展开。
  • 快速记账只保留金额、类型、时间和可选备注,避免不必要的步骤。
  • WidgetKit 提供桌面级快速查看和输入入口。
  • SwiftData App Group 作为默认数据边界,让主 App、Widget 和 Intent 共享必要状态。
04

架构

架构遵循原生 iOS 产品边界:SwiftUI 负责交互,视图模型负责状态与校验,本地持久化负责私密记录,系统扩展负责自动化入口。

层级 01

体验层

SwiftUI 应用

负责核心导航、交易录入、分类复盘、预算状态与财务摘要。

层级 02

应用状态层

视图模型层

负责展示状态、输入校验、汇总计算、可撤销操作与用户意图路由。

SwiftData App Group

通过 App Group 共享私密交易记录、分类元数据、预算、目标与 Widget 快照。

层级 03

系统入口

WidgetKit + 实时活动

在主应用之外提供一目了然的支出、预算状态、快速录入与待处理记录入口。

App Intents

提供新增支出或收入、打开手动录入与处理待确认记录的类型化系统动作。

层级 04

自动化

快捷指令自动化

为支付辅助录入、重复支出、语音输入与用户明确授权的触发器提供可复用流程。

隐私设计

X记账 的隐私设计从默认行为开始:财务记录优先保存在本地,自动化能力不以牺牲数据边界为代价,所有可扩展能力都围绕最小必要数据展开。

  • 本地优先:默认在设备上保存交易、分类和预算数据。
  • 最小暴露面:小组件和快捷指令只使用完成任务所需字段。
  • 用户掌控:导出、迁移或同步应由用户主动选择,而不是默认行为。
  • 可解释的自动化:自动化记录需要可回看、可撤销、可校正。
05

工作流

自动化被视为一等产品入口。X记账 不强迫所有行为都经过主应用,而是让用户通过 WidgetKit、App Intents、Siri 与快捷指令完成常见记录。

App Intents 与快捷指令自动化

  1. 步骤 01

    触发

    用户通过 Widget、Siri、快捷指令、系统自动化或固定支出模板触发记录动作。

  2. 步骤 02

    意图解析

    App Intents 接收金额、分类、备注、账户和可选场景上下文。

  3. 步骤 03

    校验

    本地校验字段、分类、重复记录风险和预算状态。

  4. 步骤 04

    本地写入

    交易记录写入本地存储,不默认离开设备。

  5. 步骤 05

    小组件刷新

    相关 Widget 更新近期消费、预算进度和关键提醒。

  6. 步骤 06

    复盘

    用户在主 App 中进行周期复盘、分类调整、趋势查看和异常校正。

快捷指令自动化设计

快捷指令被视为产品入口,而不是隐藏的高级功能。重复支付、语音输入、小组件录入与情境提醒最终都进入同一套本地交易模型。

  • 只通过 App Intents 暴露稳定、类型明确的动作。
  • 让自动化保持可撤销,误操作记录可以复查与修正。
  • 写入前执行本地校验,避免重复或不完整记录。
  • 让小组件围绕有意义的财务状态刷新,而不是展示装饰性指标。
06

技术栈

技术选型坚持原生:系统 API 提供速度、信任与自动化触达,同时让产品保持轻量与专注。

iOS

SwiftUIWidgetKitApp Intents

自动化

快捷指令自动化Siri 动作系统触发器

数据

本地存储结构化模型隐私边界

产品

财务体验快速记录复盘流程
07

时间线

交付路径记录了产品如何从概念验证逐步演进为具备生产形态的系统。

原型

定义记录闭环

验证新增支出与查看近期记录的最短路径,同时确保界面足够克制,适合每日使用。

MVP

构建原生系统入口

将 SwiftUI 界面、本地持久化、WidgetKit 入口与 App Intents 动作连接为完整产品闭环。

生产化

强化隐私与自动化

完善数据边界、可撤销操作、小组件更新行为与适配快捷指令的任务设计。

08

产品画面

经过验证的 iPhone 截图展示了克制的视觉系统如何从每日概览与快速记账,延伸到记录、预算控制与主屏幕小组件。

专注的快速记账
界面截图专注的快速记账金额、类型、时间与可选备注集中在一个表单中,无需切换额外页面即可完成记录。
记录与趋势
界面截图记录与趋势筛选、轻量趋势与清晰交易记录共用一个页面,避免把日常记账变成拥挤的数据仪表盘。
月度预算控制
界面截图月度预算控制独立预算表单只呈现当前月份、金额、更新操作与删除状态,不混入无关财务控件。
中号小组件
作品展示中号小组件在主屏幕直接展示今日支出、剩余预算、近期动态与快速记账入口。
大号小组件
作品展示大号小组件沿用同一视觉语言,扩展呈现支出结构、七日趋势、近期记录、目标与导航快捷入口。
09

复盘

X记账 的关键不是重做一个表单,而是理解 iOS 生态中的产品边界:哪些入口应该属于主 App,哪些应该交给 Widget 和 Shortcuts,哪些数据绝不能为了便利而默认离开设备。

  • 架构选择:用 SwiftUI 和本地状态模型保持实现轻量,同时为 WidgetKit 和 App Intents 留出清晰边界。
  • 隐私边界:将本地存储作为默认路线,把同步、导出、备份变成用户主动选择。
  • 产品工程:把自动化视为核心体验,而不是附加功能;每个系统入口都必须服务于更短、更可信的记录链路。