💊 Sig — 花半天做了个用药提醒APP

Built with Claude Code, one afternoon at a time.


起点

2026 年 8 月 4 日早上,我想做个用药提醒------妈妈总忘记吃药。

第一个版本就是 sig/index.html,纯前端:localStorage 存数据,浏览器 Notification API 发通知。单文件搞定,CSS 暗色模式、手机适配、动画全都塞进去了。

但单页应用有天花板------页面关了通知就没了;只能一个人用;数据清缓存就丢。

所以决定重写:Node.js + SQLite 后端,多用户,Web Push 通知。


搭建

Claude Code 先生成了一份详细的实施计划,然后把整个项目拆成了后端基础设施:

  • Express 服务入口
  • SQLite 数据库(sql.js,纯 WebAssembly,零编译依赖)
  • JWT 注册/登录
  • 提醒 CRUD API
  • Web Push 调度器

依赖装好,服务器跑起来------

一口气写完所有路由、中间件、服务层,前端从 localStorage 改成 fetch API。pm2 启动,IIS 反向代理配好。

一边试用一边修修 bug


第一次部署

部署到 Windows Server + IIS 的生产环境:静态文件走 IIS,/api/* 反向代理到 Node.js 3001 端口,pm2 保活。

部署成功,访问 https://is81.net/sig/,注册、添加提醒、标记已服------全部正常。


代码审查 & 打磨

Claude Code 做了一次 7 角度全量代码审查,找出 10 个问题------从 MAX(id) 竞态到 PUT 操作丢失 taken 状态,从 XSS 到 N+1 查询。逐项修完,一个下午十项清零。


国际化

"用药助手"的用户不只有中文用户。加上了四国语言: 🇨🇳 中文 · 🇬🇧 English · 🇯🇵 日本語 · 🇪🇸 Español

40+ 条 UI 文案,Intl.DateTimeFormat 自动本地化日期格式,语言偏好存 localStorage,切换即时生效。


Web Push 调试

通知是整个项目最核心的功能。部署后测试------提醒到时间了,手机没反应。

排查过程一波三折:

  1. 旧订阅密钥不匹配 → 清空重建
  2. ES 模块 import 在 .env 加载前执行 → VAPID 密钥永远空值 → 改为懒加载
  3. 最终加上 /api/push/test 调试端点,sent: 1 那一刻------

手机响了。


成品

iPhone 从 Safari 添加到主屏幕,就是一个原生 App 的体验。


开源

项目以 MIT 协议开源在 github.com/is81/sig

Sig is a simple, caring medication reminder that lives on your phone. Set up your meds in seconds, get gentle nudges when it's time, and share it with family --- each person's data stays private. No complex setup required. Just you, your health, and a little digital nudge.

相关推荐
0end113 小时前
AI Agent 学习笔记(三):上下文工程(下)—— KV Cache、提示词设计与 Agent Skills
前端·aigc·ai编程
资深低代码开发平台专家13 小时前
2026企业级AI编程平台厂推荐:行业趋势、评估维度与主流品牌对比解析
大数据·人工智能·ai编程
Web3_Basketball13 小时前
从0到1落地MCP连接器从零接企业工具:踩坑全记录
ai编程
奈斯先生vector13 小时前
DeepSeek Harness 配置的真正价值:它如何改变 Agent 的运行方式与工程边界
aigc·ai编程
不一样的少年_13 小时前
图解 AI Agent ①:大模型接上 API,为什么还不算 Agent?
人工智能·agent·ai编程
怕浪猫14 小时前
三段式架构的威力:DeepSeek Harness 如何让文件系统、Shell、LLM 全部可替换
openai·agent·ai编程
码哥字节15 小时前
Matt Pocock 的 agent skills 好用,但国产 spec-superflow 更狠
agent·ai编程·claude
_codeOH17 小时前
Tool Use 设计模式:如何让 LLM 优雅地调用工具
人工智能·ai编程
沉默王二17 小时前
爽用 DeepSeek V4 Flash、GLM-5.2、Qwen3.8 Max、GPT-5.6 Sol,EvoX 够猛
agent·ai编程
9i编程17 小时前
8. AI编写的SKILL,坑我一一试过,这次我自己改写:Beyond Compare逐行CodeReview:Trae写主体,WorkBuddy改bug
人工智能·openai·ai编程