# DearDiary Self-hosted AI-powered daily journaling application. Capture events throughout the day and let AI generate thoughtful diary pages from your entries. [![Deploy to Docker](https://img.shields.io/badge/Deploy-Docker-blue)](https://github.com/anomalyco/totalrecall) [![Documentation](https://img.shields.io/badge/Documentation-Live-brightgreen)](https://anomalyco.github.io/totalrecall) ## Features - Quick event capture with keyboard shortcut (Ctrl+J) - Multiple event types: text, health, photo, voice - **Automatic geolocation** - events tagged with your location - AI-powered diary page generation with customizable providers - Events become immutable once a diary is generated (prevents editing past memories) - Regenerate diary pages with additional instructions - Generation tasks with title tracking per task - Read all diaries with pagination (10/50/100 per page) - Dashboard with diary excerpts - Calendar view for browsing past entries - Full-text search across events and diaries - Export/Import data with version checking - Dark/light theme support - Self-hostable with Docker ## Quick Start ```bash # Clone the repository git clone https://github.com/anomalyco/totalrecall.git cd totalrecall # Start with Docker docker compose up -d ``` Access the app at `http://localhost:8080` Default credentials: `admin@localhost` / `changeme123` ## Documentation Full documentation is available at [https://anomalyco.github.io/totalrecall](https://anomalyco.github.io/totalrecall) Topics covered: - [Installation](https://anomalyco.github.io/totalrecall/getting-started/installation/) - [Quick Start](https://anomalyco.github.io/totalrecall/getting-started/quick-start/) - [Configuration](https://anomalyco.github.io/totalrecall/getting-started/configuration/) - [Features](https://anomalyco.github.io/totalrecall/features/events/) - [API Reference](https://anomalyco.github.io/totalrecall/api/authentication/) - [Deployment](https://anomalyco.github.io/totalrecall/deployment/docker/) ## Configuration 1. Go to Settings and select your AI provider (Groq, OpenAI, Anthropic, Ollama, LM Studio) 2. Enter your API key for the selected provider 3. Optionally customize the model and base URL 4. Test the connection before saving ## Development ### Prerequisites - Bun - Node.js 20+ - Docker ### Backend ```bash cd backend bun install bunx prisma generate bun run dev ``` ### Frontend ```bash cd frontend npm install npm run dev ``` ### Build Docs Locally ```bash cd docs npm install npm run dev ``` ### Docker Build ```bash docker compose build && docker compose up -d ``` ## Project Structure ``` ├── backend/ # Hono + Prisma backend │ ├── prisma/ # Database schema │ └── src/ # API routes and AI services ├── frontend/ # React + Vite frontend │ └── src/ │ ├── pages/ # Page components │ ├── components/ │ └── lib/ # API client, geolocation ├── docs/ # Starlight documentation site └── docker-compose.yml ``` ## Routes - `/` - Dashboard with recent diary pages and excerpts - `/today` - Today's event stream (main capture page) - `/diary` - Paginated diary reader (10/50/100 per page) - `/journal/:date` - View/edit diary page with generation tasks - `/day/:date` - View day's events - `/calendar` - Calendar view - `/settings` - Configuration and Export/Import ## License MIT License Copyright 2026 Konrad Lother