A private, offline-first daily journal that lives in your browser. No accounts, no cloud, no ads. Just you and your thoughts.
Most journaling apps want your email, push you toward a subscription, or store your private thoughts on someone else's server. Daily Reflections does none of that.
- Your data never leaves your device. Everything is stored in your browser's localStorage. There is no server, no database, no analytics. Nobody can read your journal — not even us.
- It works offline. Install it on your phone and write on the train, on a plane, in bed at 2am. No internet needed.
- Simple prompts, not blank pages. Instead of staring at an empty screen, you get structure: what went well, what didn't, one closing thought, and a rotating bonus prompt. Fill in what feels right, skip the rest.
- See your patterns. Mood trends, good-vs-bad ratios, your most-used word, journaling consistency heatmap, and "Then vs Now" — showing what you wrote exactly 1 week, 1 month, or 1 year ago.
- No account required. Open the link. Start writing. That's it.
Writing
- 3-5 good things + 3-5 bad things (expandable)
- Closing thought
- 55 rotating bonus prompts
- Free-write section
- Up to 6 photos per entry
- 7 mood options (Happy, Calm, Reflective, Sad, Angry, Anxious, Tired)
Navigation
- Scrollable date strip (swipe through weeks)
- Monthly calendar picker (jump to any past date)
- Edit past entries
Insights (Mood tab)
- Weekly summary card (days journaled, words written, good:bad ratio, your word)
- Mood bar chart with animated pill bars
- Mood trend line (canvas chart mapping emotions over time)
- Good vs Bad balance per day
- GitHub-style journaling consistency heatmap
- Daily mood emoji timeline
- "Then vs Now" — resurfaces what you wrote 1 week, 1 month, or 1 year ago
Extras
- Full-text search across all entries
- Monthly PDF export
- JSON backup & import
- Weekly backup reminder
- Day streak & word count stats
- Hand-drawn SVG illustrations (tea cup, moon & stars, letter, vine dividers, vase with flowers)
- Open yaninatrekhleb.com/daily-reflections in Safari
- Tap the Share button (the square with an arrow pointing up)
- Scroll down and tap "Add to Home Screen"
- Tap Add — the app icon appears on your home screen
- Open it from there — it runs fullscreen like a native app, works offline
- Open the link in Chrome
- Tap the three dots menu (top right)
- Tap "Add to Home screen" or "Install app"
- Done — works offline from your home screen
- Open the link in Chrome or Edge
- Click the install icon in the address bar (or Menu > "Install Daily Reflections")
- The app opens in its own window, works offline
- All data is stored locally in your browser's
localStorage - Nothing is sent to any server — ever
- No cookies, no tracking, no analytics
- If you clear your browser data, your entries are gone (that's why the backup button exists)
- Other people opening the same URL see a completely empty journal — they cannot access yours
Your journal lives only in your browser. If you switch devices, clear browser data, or uninstall the app, your entries will be lost. To prevent this:
- Go to the sidebar (desktop) or Entries tab (mobile)
- Tap Backup — downloads a
.jsonfile with all your entries - Save it to iCloud, Google Drive, or wherever you keep important files
- To restore: tap Import and select your backup file
The app will gently remind you if you haven't backed up in 7 days.
Zero dependencies. No build step. No framework. One HTML file + a service worker + a manifest.
- Pure HTML / CSS / JavaScript
- Canvas API for mood trend charts
- Service Worker for offline caching
- Web App Manifest for PWA install
- localStorage for data persistence
- Inline SVG illustrations (original hand-drawn style)
MIT — use it however you like.
