独立开发记录:我做了个"人体电池"App,用 SwiftUI 把精力管理变成收支账本

起因:下午三点的"断电"问题

去年秋天有段时间,我每天下午三点左右会进入一种奇怪的状态:不是困,不是饿,就是"空了"。手边的咖啡还有半杯,任务清单上还有四项没划掉,但整个人像被拔了电源线。

作为一个写代码的人,遇到问题第一反应是找工具。番茄钟、冥想、午睡、散步都试过。我还用习惯打卡 App 打了一个月,全是绿勾,可下午三点依然变成空壳。情绪日记写了两周也放弃了——情绪是结果,不是原因。

这些工具追踪的是行为本身,但没有一个在乎一件事对我来说是"充电"还是"耗电"。我想知道的是精力的流向,不是行为的有无。想来想去,决定自己做一个。

核心设计:把一天当成一块电池

App 叫元气手账,做的事很简单:早上满格出门,每件事要么充能(+)要么消耗(-),到晚上看剩余电量。不是流水账,是精力的"收支"。

我给自己定的设计原则只有一条:记录这件事本身不能耗电。如果打开 App 还要纠结分类、写长文字、选标签,那记录本身就变成了耗能项,逻辑上就矛盾了。

所以做了"胶囊打卡"的交互形式。预设好常见的充能和耗能场景——深度工作、有氧运动、无效社交、刷短视频——点一下就记上了,整个过程不超过三秒。一天结束前花一分钟扫一遍,电量余额自动算出来。

技术选型和实现思路

整个项目用 SwiftUI 写的,数据层用 SwiftData 做本地持久化。之所以没上 Core Data 是因为这个 App 的数据模型其实很简单,SwiftData 的声明式写法和 SwiftUI 配合起来开发体验好很多。

胶囊打卡的核心模型大概长这样:

@Model
class EnergyEntry {
    var title: String
    var value: Int // 正数充能,负数耗能
    var timestamp: Date
    var category: String
    
    var isCharging: Bool {
        value > 0
    }
    
    init(title: String, value: Int, category: String) {
        self.title = title
        self.value = value
        self.timestamp = Date()
        self.category = category
    }
}

每个条目就是一个带正负值的记录,按天聚合求和就是当天的"电量余额"。按 category 分组排序就能跑出"吸血鬼/绿洲 TOP"排行榜——这个功能自动帮你找出精力黑洞和精力绿洲,不需要手动分析。

用了三周后发现的事

我自己用了大概三周之后,App 推了一个洞察:我最大的精力吸血鬼不是加班,是"回消息"。

说出来有点荒谬。每条消息本身只花三十秒,但我一天零散回将近四十条各种群消息和私信。单独看不起眼,累计起来每天抽走将近三格电。而另一边,我一直以为散步对我帮助很大,数据显示给我充电最多的其实是"独处写东西"。

我把"回消息"集中到每天两个固定时段之后,下午三点的那种空洞感大概两周就消失了。

内测的时候有个正在考研的朋友跟我说:"我终于知道为什么我每天学八小时但觉得比别人学十二小时还累了——我中间休息的方式全是耗电的。"她的休息方式是刷社交媒体,数据显示那对她来说根本不是充电,是继续放电。这个反馈坚定了我把它做完的决心。

和情绪日记、习惯打卡的区别

被问过很多次这个问题,我觉得区别在视角。情绪日记记的是"我现在感觉怎么样",元气手账记的是"这件事对我做了什么"。一个是温度计,一个是账本。习惯打卡只关心"你做了没有",不关心那件事对你的精力影响是正是负。你可能每天坚持早起跑步打卡全绿,但如果你是夜猫子体质,早起可能一直在消耗你而你不自知。

元气手账想回答的问题很具体:今天我的精力花得值不值?长期来看,什么在给我供能,什么在偷我的电?

九个月的开发过程

从去年十一月动手到现在,前后差不多九个月,中间有过三次大的方向调整。最早版本我做了很复杂的精力曲线图,有实时波动、有周报月报,做完之后自己用了一天就觉得太累了——谁会在精力已经很低的时候还去看密密麻麻的数据图表?

后来砍到最核心的交互:胶囊点击 + 电量余额 + 吸血鬼/绿洲排名。够了。每砍一个功能我都心疼半天,但回头看砍对了。

下载

元气手账已经上架 App Store,免费下载,核心功能全部免费用。如果你也想搞明白自己的电到底被什么偷走了,用一周时间每天花一分钟记一下,第七天看看吸血鬼排行榜,大概率会有"啊原来是你"的感觉。

也欢迎把这篇文章转给你身边那个总说"我也没干什么但就是好累"的朋友。也许 ta 只是还没找到自己的吸血鬼。

posted @ 2026-08-17 20:14  samexxx  阅读(6)  评论(0)    收藏  举报