logo
0
1
Login

Invisible Journal 📔

A private, emotion-aware journaling web app that helps users express their feelings safely and receive gentle AI feedback, visualized emotional reports, and music suggestions — all stored locally for full privacy.

✨ Features

🖊️ Journal Entry Input

  • Text and Voice Input: Type your thoughts or use speech-to-text via Web Speech API
  • Daily Entries: Each entry is timestamped and editable
  • Optional Tags: Organize entries with custom tags (dreams, relationships, study, etc.)

🤖 AI Companion Response

  • Empathetic AI: LLM generates conversational, supportive responses
  • Multiple Modes:
    • Comfort Mode: Warm emotional support
    • Reflective Mode: Deep, thoughtful replies
    • Poetic Mode: Artistic and lyrical responses
    • Therapist Mode: Professional and validating
    • Rational Mode: Logical and analytical

🎨 Mood Analysis

  • Sentiment Detection: Positive, neutral, or negative classification
  • Emotion Recognition: Joy, sadness, anger, anxiety, nostalgia, peace, love
  • Color-Coded Bubbles: Each emotion represented by a unique color
  • Emotion Timeline: Visual history of your emotional journey

📊 Mood Reports

  • Daily Snapshots: Color-coded emotional summaries
  • Inspirational Quotes: AI-generated quotes based on your mood
  • Music Suggestions: Lofi and ambient music recommendations
  • Floating Animations: Soothing breathing rhythm animations

🔒 Privacy First

  • Local Storage: All data stored in IndexedDB on your device
  • No Cloud Sync: Your entries never leave your device (unless you export)
  • Encrypted Backup: Optional JSON export for manual backup

🎨 Customization

  • Companion Personality: Choose how your AI companion responds
  • Themes: Morning Light, Night Calm, Forest Mist, Ocean Breeze, Nebula
  • Voice & Music: Toggle features on/off

🛠️ Tech Stack

LayerTechnologyPurpose
FrontendNext.js 15 (React 19)UI rendering, routing
StylingTailwindCSS + Framer MotionSmooth animations & transitions
DatabaseIndexedDB (Dexie.js)Local diary storage
AI IntegrationOpenAI GPT-4 APICompanion dialogue & mood reflection
AudioWeb Speech API + Howler.jsVoice input + music playback
TypeScriptFull type safetyEnhanced development experience

🚀 Getting Started

Prerequisites

Installation

  1. Clone or download this project

  2. Install dependencies

cd invisible-journal npm install
  1. Set up environment variables Create a .env.local file (optional - you can also enter the API key in the app):
NEXT_PUBLIC_OPENAI_API_KEY=your_openai_api_key_here
  1. Run the development server
npm run dev
  1. Open your browser Navigate to http://localhost:3000

📖 Usage Guide

First Time Setup

  1. When you first open the app, you'll be prompted to enter your OpenAI API key
  2. The key is stored locally in your browser's localStorage
  3. Choose your preferred companion personality in Settings

Writing an Entry

  1. Click "Write a new journal" on the home page
  2. Type your thoughts or click the microphone icon for voice input
  3. Click "Save privately" to submit
  4. Your AI companion will respond with empathy and insights
  5. A mood bubble will appear showing your detected emotion

Viewing Your Journey

  • Timeline: See all your entries in chronological order
  • Reports: View daily mood reports with quotes and music suggestions
  • Settings: Customize your experience and manage your data

Exporting Your Data

  1. Go to Settings
  2. Click "Export Data"
  3. A JSON file will download with all your entries, settings, and reports

🎨 Emotion Color Palette

EmotionColorHex
JoySoft Yellow#FFEAA7
SadnessDeep Blue#74B9FF
AnxietyPale Red#FAB1A0
PeaceMint Green#81ECEC
NostalgiaLavender#A29BFE
AngerWarm Orange#E17055
LoveBlush Pink#FDA7DF
NeutralLight Gray#DFE6E9

🔐 Privacy & Security

  • All data is stored locally in your browser's IndexedDB
  • No server communication except for OpenAI API calls
  • Your API key is stored in localStorage (never sent to our servers)
  • No tracking or analytics - your journal is completely private
  • Export anytime - you own your data

🎯 Roadmap

  • Dark mode support
  • Actual audio files for music playback
  • Advanced emotion analytics and charts
  • Data import functionality
  • End-to-end encryption for cloud backup
  • Mobile app (React Native)
  • Multi-language support
  • Custom AI model fine-tuning

🤝 Contributing

This is a personal project, but suggestions and feedback are welcome! Feel free to:

  • Open an issue for bugs or feature requests
  • Submit a pull request with improvements
  • Share your experience using the app

📄 License

MIT License - feel free to use this project for personal or educational purposes.

🙏 Acknowledgments

  • Built with Claude Code
  • Inspired by the need for private, empathetic digital journaling
  • Designed with care for emotional wellbeing

⚠️ Disclaimer

This app is not a replacement for professional mental health care. If you're experiencing serious emotional distress, please seek help from a qualified therapist or counselor.


Made with 💜 for your emotional wellbeing

About

No description, topics, or website provided.
396.00 KiB
0 forks1 stars1 branches1 TagREADMEMIT license
Language
TypeScript99.7%
JavaScript0.3%