FC
EN PT ES

Case study · 2026

Glow

Work in progress. A gentle self-care web app: tiny habits, breathing exercises and mood check-ins grow a little plant companion, with no streak guilt and no account.

React TypeScript Vite Tailwind Framer Motion PWA

Demo video

Work in progress. Glow is still being built. It already works and you can try it, but more is planned and things will change.

The idea

Most habit apps punish you for missing a day. Glow does the opposite: tiny habits, breathing exercises and mood check-ins earn XP that grows a plant companion and unlocks themes. Skipped days cost nothing, XP is never taken away, and nothing needs an account. All data stays in your browser.

What it does

  • Habits, a breathing circle with phase timing, mood check-ins with history, and a month view of the days you showed up.
  • Six themes and six plant growth stages that unlock as you level up.
  • Backup and restore of everything as a file, so data can move between devices without a server.
  • Works as a website and installs like an app, even offline. English, Portuguese and Spanish, following the browser language.

Try it quickly

A progress app looks empty on the first visit, so the first screen offers Explore with sample data: thirty days of believable history. A small bar lets you jump to any level, locked themes can be previewed, and a short "Things to try" list ticks itself off as you explore. Press "Start fresh" for your own empty copy.

How I checked it

  • 63 unit tests and 42 browser tests that run in real Firefox and WebKit (the engine behind Safari), on a computer-sized and a phone-sized window, including against the live site.
  • Automated accessibility checks report no problems on any screen, in light and dark, in all three languages.
  • Lighthouse on the live site, simulated slow phone: performance 94, accessibility 100, best practices 100, SEO 100.
  • A strict Content-Security-Policy and security headers.

What is next

Habit schedules by weekday, a few more calm exercises, and something to look forward to after the last unlock. Real reminders would need a small server, so today they are best-effort and the app says so.