要解决的问题
日更视频应用死于「表演压力」。每小时的日记要成立,拍摄必须只花几秒,分享必须默认私密。
我做了什么
独立完成整套视觉定调——图标、蜡笔色板、UI 规范、动效、商店页面——并实现整个应用:React Native、照片转贴纸流程、原生小组件。
结果如何
已登陆 App Store 与 Google Play,从产品设计、开发到双平台商店页面均由我独立完成。
你的一天,每次两秒。
一款按小时记录的视频日记。没有信息流,没有粉丝,没有点赞——只有真实的一天,一小时一段,分享给真正重要的人。
下面这些深色面板,是应用自身的品牌识别页转写成的组件——同一套设计令牌、同一套几何规范,铺在识别系统真正指定的底色上。
一本你真的会回看的日记
Blipflip 把平凡的一天变成一部小电影——一次一帧,真实而未经修饰。
一小时,一个 Blip
每到整点,一个温和的提醒:把手机横过来,按住录几秒,完成。到了傍晚,这些片段会拼成一支值得留下的 vlog。
从一开始就是私密的
只分享给一小群密友,或者一位伴侣。没有公开信息流,没有粉丝数,没有表演——就像整天待在同一个房间里。
记录你的一天,分享给真正重要的人。
项目概述
Blipflip 是我作为唯一的工程师与设计师端到端打造的私密视频日记应用——一套 React Native 代码库同时驱动 iOS 与 Android,连同它对外呈现的整套品牌识别。每到整点,它会提醒你录下几秒钟;到了傍晚,这些片段会拼成一支 vlog,只分享给一个小队或一位伴侣,其他人看不到。虽是个人项目,但我完全以生产级产品的标准来对待:完整的设计系统、照片抠图贴纸、原生平台小组件,以及本地拍摄与云端同步。
我的角色
独立产品设计师与全栈移动端工程师。从最初的概念构思、Figma 界面设计,到 React Native 实现、Supabase 后端、原生 iOS/Android 小组件代码,再到整套品牌识别,全部由我一人负责。
背后的设计决策
品牌识别只是看得见的那一半。在它下面,Blipflip 是一整套关于「一款日记应用到底可以向你索取多少」的交互与产品决策。
没有菜单的拍摄手势
把手机横过来,按住录,松手。没有模式选择,没有时长设置,也没有后期步骤——这个交互短到根本不需要说明,而这是一个每小时提醒你的产品能活过第一周的唯一办法。
在按下录制前就能看见的隐私
一段片段会发给谁,取决于你所在的小队或情侣关系,而这一点直接呈现在拍摄界面上,而不是埋进设置里。只有当人们不用去确认就清楚另一端是谁,他们才愿意发出未经修饰的一天。
提醒你,但不逼你
每小时提醒与可见的连续记录是驱动力,但这一页上的语气规范明确排除了用羞耻感去逼迫任何一件事。提醒的各种状态、连续记录的呈现方式,以及空状态文案,都被写在并设计在那条线鼓励的一侧。
一套系统,三个载体
应用、主屏幕小组件与商店页面,全都由同一套设计令牌和同一个图标推导而来。小组件有自己更轻的处理方式,因为它们住在别人的主屏上,旁边是不属于我的应用——但它们是从系统里派生出来的,而不是另画一套。
一个快乐的小人
太阳底下一个蜡笔画的火柴人——手绘、温暖,还有点傻气。这个图标用方寸之地承载了整个应用的性格。它也是这套识别系统里唯一不由设计令牌生成的部分:它是一幅画,因此以 512 像素的位图交付,其余所有尺寸都由它派生,而不是重画一遍。
主应用图标 · 512×512 · 出血满版
四周至少保留图标宽度四分之一的呼吸空间。
用于通知栏、手表表盘与印章的单色图标。
一盒蜡笔
深靛蓝底色上的六支明亮蜡笔,每一支都有自己的职责。它们读起来就像一盒儿童蜡笔——刻意张扬,并且永远描着墨色的边。
应用提供四种可切换的氛围——同一组蜡笔色,四种不同的底色。
全场 Baloo 2
整个应用只用一款圆润厚实的字体——亲切、笃定,绝不商务。柔软的字脚呼应着蜡笔的笔触。
NOPQRSTUVWXYZ
abcdefghijklmnop
qrstuvwxyz 0123456789
展示与界面:Baloo 2 · 正文:system-ui · 数据:等宽字体
温暖、俏皮、说人话
Blipflip 说话像一个替你打气的朋友,而不是一个品牌。短句、真实的用词、一点表情符号,零压力。
我们会说
- 要「记录你的一天。」
- 要「把手机横过来,按住录,完成。」
- 要「傍晚有个友好的提醒替你记着。」
- 要「任何东西都能剪成贴纸。」
我们不说
- 不「最大化你的互动指标。」
- 不「扩大受众,让内容爆火。」
- 不「发生错误(代码 500)。」
- 不任何用羞耻感逼你维持连续记录的话。
我构建的功能
照片转贴纸
构建了从拍摄、预览到查看抠图结果的照片转贴纸流程。照片会先缩小,再发送至需要身份认证的服务移除背景,并在设备支持时提供原生备用处理。在线抠图需要网络连接。
原生主屏幕小组件
在两个平台上分别构建原生小组件——iOS 使用 SwiftUI,Android 使用 RemoteViews——支持多种尺寸规格,并配有后台刷新机制。由于小组件驻留在用户主屏幕而非应用内部,我为它设计了区别于主应用的轻量视觉语言。
本地拍摄与云端同步
视频片段先保存在设备上,再于后台上传:媒体文件存入 Cloudflare R2,以 Supabase Storage 作为备用存储,元数据则存入 Supabase。分享、回顾视频渲染与在线抠图需要网络连接。
身份认证
设计并开发了邮箱密码登录,以及 Google 与 Apple 单点登录,力求将注册流程精简到最少步骤。
设计思路
身兼设计师与工程师,让我能够快速迭代:Figma 中的探索方案当天就能变成可运行的 React Native 组件,我因此能真实感受到机器学习延迟或导航流程中的摩擦点在哪里,而不是仅凭静态原型去猜测。品牌识别也出自同一个循环——墨色描边与位移投影最初只是应用里的一种卡片样式,之后才反向沉淀成品牌规范,这也是上面每一块面板都能用同样几个设计令牌搭出来的原因。
在真机上的样子
八张来自 Google Play 商店页面的截图——蜡笔世界,握在手里。
Expo · React Native · TypeScript · Supabase · Cloud Run · Cloudflare R2 · Sentry
当前状态
Blipflip 已在 iOS App Store 与 Android Google Play 上线。下载应用,开始记录你的视频日记。
下一个案例: Panik! by SGAG