jiligulu
Personal web app

Mandy 专属治愈站

Mandy 是一个个人治愈站项目,收集语录、歌词、每日挑战、心情记录和纪念日计数,用柔和的文字体验帮助用户整理情绪。

What it is / 项目是什么

A personal healing station with 450+ curated quotes, song lyrics, daily challenges, mood tracking, and anniversary counter. Built with love.

专属治愈语录站。450+ 条精选语录、歌词、每日小挑战,还有心情记录和纪念日倒计时。用文字对抗焦虑。

How it works / 实现原理

站点是一个为特定个人定制的 PWA:450+ 条语录、歌词、小挑战通过 JSON 维护,每天在固定时段随机轮换。心情记录、纪念日计数都通过浏览器 localStorage 保存,不依赖任何后端。安装到主屏后,可以离线打开,不需要网络也能用。整体设计追求"打开即看到一句温柔的话",而不是又一个有十几个按钮的工具站。

Who it is for / 适合谁

需要轻量情绪陪伴、语录收藏和日常小挑战的个人用户。

Typical use cases / 常见使用场景

  • 送给伴侣、家人或朋友的个性化数字礼物
  • 作为日常情绪日记和小习惯打卡入口
  • 纪念日提醒、共同回忆收藏夹

Key features / 主要功能

  • 450+ 条精选语录、歌词和情绪提示
  • 每日挑战、心情记录和纪念日计数
  • 可作为 PWA 使用的轻量个人站点

Design notes / 设计取舍

Mandy 是为特定接收人定制的,所以语录选择带有个人风格,可能并不普适。它是 jiligulu 探索"软件即礼物"形态的项目之一:用代码做一个只为你一个人的东西,而不是面向所有人。

Technology stack / 技术栈

Each layer below was chosen for what it lets the project avoid as much as what it enables. Together they shape the latency, the build pipeline, and how quickly new ideas can be tried in production.

下面这些选择,更多是为了排除某些复杂度,而不只是为了“用上”。它们共同决定了项目的延迟特性、构建流水线,以及把一个想法跑通的最短路径。

  • HTML

    Hand-authored semantic markup, keeping the document accessible and indexable without a framework runtime.

  • CSS

    Custom styling with modern features — grid, container queries, view transitions — written without preprocessor overhead.

  • JavaScript

    Vanilla browser scripting for interactive behaviour, with no framework boundary between page and logic.

  • PWA

    Progressive Web App techniques — installability, offline caching, and service-worker background sync — for a native-feeling web experience.

FAQ / 常见问题

我可以为自己的朋友定制一份吗?

Mandy 目前是一个针对单人定制的版本,没有自助配置流程。如果想做类似的项目,可以联系 hello@jiligulu.xyz 讨论。

心情记录会被发到任何地方吗?

不会。所有数据都存在你打开站点的浏览器里,不上传服务器,也不和任何第三方分享。

可以离线使用吗?

可以。第一次访问后,PWA 会缓存核心内容,离线状态下依然能浏览语录和记录心情。

会持续更新内容吗?

语录库会偶尔扩充。重要更新会随站点版本升级,无需手动操作。

Continue reading

The blog goes deeper into the ideas behind Mandy 专属治愈站. These pieces unpack the psychology, the engineering trade-offs, and the design questions this project raises.