PULSAR is a Telegram Mini App for gentle self-tracking: mood, sleep, food, workouts,
tasks, finances, a diary, skills and breathing — and a statistics screen that ties it together. Two decisions shaped it
more than any framework would have.
Decision 1: no build step at all
PULSAR is vanilla JavaScript, HTML and CSS. No bundler, no npm dependencies, no transpiling. Cloudflare Pages deploys
the repository as static files on every push.
What that buys:
- Deploys are just files. If something is wrong in production, the file in the repo is exactly what users run.
- Nothing to rot. No dependency updates breaking the build a year later.
- Fast inside Telegram. A Mini App opens inside a chat; every kilobyte and every request is felt.
What it costs: discipline. Cache-busting is manual — a release bumps every ?v= query in index.html and the version
constant in the app by the same number, or users get a mix of old CSS and new JS. And all storage goes through two
small helpers (one for localStorage, one for Telegram CloudStorage) so data stays isolated per account.
Decision 2: anti-shame as code
Most trackers motivate with guilt: red streaks, "you missed a day", leaderboards. PULSAR does the opposite, and it's
enforced in the code, not just in the copy:
- No "you failed" language anywhere. No "you won't make it", no "missed".
- Downward changes are muted, not highlighted in red.
- Streaks forgive gaps — there's a grace period, so one bad day doesn't erase a month.
- Basic tracking is never paywalled.
- Statistics compare you only with yourself, and the correlations are deterministic — "based on your data", not a model's guess.
Where AI is allowed
AI is a side dish. A language model may suggest what to log, but it never writes data itself: suggestions appear in a
confirmation sheet, and only the user's tap saves anything.
Design in one theme
One dark "liquid glass" theme over a quiet starry sky, one cherry accent color, large bold type — and no theme picker.
Fewer options meant every screen could be polished instead of every combination being "okay".
Takeaways
- For a small Mini App, "no build" is a feature, not a limitation — if you're strict about cache-busting.
- If your product is about wellbeing, put the tone rules in code, where they can't drift.
- Let AI propose; let the user decide.
I'm Gordey Fisun, I build websites, online stores, Telegram bots and Mini Apps for businesses —
gordey.pro.
Top comments (0)