I built Daily Reflections because I wanted a journaling space that was actually private—no accounts, no cloud, and no "SaaS-ification" of my personal thoughts.
The Implementation:
Vanilla Stack: 100% pure HTML, CSS, and JavaScript. No build step, no frameworks, no external libraries.
Local-First: Everything lives in localStorage. 0% of your data is transmitted to a server.
Data Portability: Since it's local-only, I added JSON backup/import and a monthly PDF export to ensure the user actually owns their data.
Visualization: I used the Canvas API for mood trend charts and a GitHub-style consistency heatmap to keep the footprint tiny.
Offline-First: It's a PWA with a service worker, so it works perfectly in airplane mode.
The "Then vs. Now" Feature: I wanted to solve the "write and forget" problem. The app automatically resurfaces entries from exactly 1 week, 1 month, or 1 year ago to provide immediate perspective on personal growth.
I'm using this as my primary journal now. I’d love to hear your thoughts on the local-first approach and any performance concerns regarding localStorage for long-term text storage.