A private, client-side encrypted digital diary application built with React, TypeScript, and Tailwind CSS. Designed as an intimate sanctuary for capturing thoughts, tracking emotional wellness, archiving photo memories, and maintaining daily journaling habits with zero compromise on privacy.
- Master PIN / Password: Secure PIN or alphanumeric password lock powered by the Web Crypto API (
PBKDF2+SHA-256salted hashing). - Client-Side AES-GCM-256 Encryption: Encrypts diary archives into password-protected
.diaryvaultfiles for secure off-site storage. - Auto-Lock Timer & Tab Blur: Automatically locks the diary after inactivity or immediately when switching tabs.
- Tactile Keypad & Hint Recovery: On-screen PIN pad with animated feedback and optional hint reveals.
- 10 Emotion Types: Track moods across Ecstatic, Happy, Grateful, Calm, Productive, Reflective, Tired, Sad, Anxious, and Frustrated.
- Intensity Slider: 1–10 emotional energy and intensity scale.
- Trend Charts & Visual Distribution: 14-day interactive intensity trendline and mood distribution breakdowns.
- Tag Correlation Insights: Identifies which activities and themes (e.g.
#nature,#coffee,#travel) trigger your highest mood scores.
- Rich Formatting Toolbar: Headings, bold, italic, bullet lists, numbered lists, blockquotes, task checklists, and text highlights.
- Multi-Image Attachments: Drag-and-drop or file upload for photo memories with captions and fullscreen lightbox previews.
- Reflection Prompts ("Inspire Me ✨"): Thought-provoking prompts to overcome writer's block.
- Live Metadata: Word count, character count, and estimated reading time.
- Backdating & Custom Timestamps: Record and organize memories from any date or time.
- Monthly Interactive Calendar: Visual calendar displaying mood color pills, photo dots, entry counts, and selected date inspector panels.
- Chronological Vertical Timeline: Feed grouped by Month and Year with pinned memories and star favorites.
- Consistency Streak Tracking: Automatic daily streak calculations and milestone celebrations.
- Real-Time Deep Search: Query matches across titles, reflections, locations, and
#tags. - Multi-Dimensional Filters: Filter by mood, date range (7 days, 30 days, year), favorites only, or entries with photos.
- Custom Time Scheduler: Configurable time and day-of-week recurrence.
- Browser Notifications: Desktop and mobile browser notification support with in-app test triggers and motivational nudges.
- Encrypted
.diaryvaultExport: Password-locked military-grade backup file. - Plain JSON & Markdown (
.md) Export: Interoperable formats compatible with Obsidian, Notion, or text editors. - Print & PDF Book Preview: Formatted editorial layout ready for printing or exporting to PDF.
- One-Click Restore: Upload and merge or replace entries with integrity validation.
- Framework: React 19 + TypeScript + Vite
- Styling: Tailwind CSS v4 + Custom Paper & Editorial Typography (Newsreader Serif & Plus Jakarta Sans)
- Icons: Lucide React
- Date Utilities:
date-fns - Celebrations:
canvas-confetti - Security: Web Crypto API (
SubtleCryptoAES-GCM-256, PBKDF2, SHA-256)
# Install dependencies
npm install
# Start local dev server
npm run dev# Compile and build production assets
npm run buildAll diary entries, attachments, and settings are stored locally in the browser storage and are encrypted before any export or backup. No personal data or private thoughts are transmitted to unauthenticated third-party servers.