Introduction
Journal is a private, local-first markdown note-taking and journaling platform with client-side AI semantic vector search and personal Google Drive cloud sync. It is designed to give users complete data ownership (BYOD storage) with zero server-side database dependencies.
You can use the live application at https://journal.aldianapps.com.
Key Features
- Local-First & Zero-Server Database: 100% private. All entries, metadata, and photos are stored in your browser's IndexedDB and synced directly to your personal Google Drive (
Journal/entries/YYYY/YYYY-MM-DD.mdandJournal/photos/). - On-Device Semantic Vector Search: Powered by local WebAssembly ONNX transformer embeddings (
all-MiniLM-L6-v2). Generates 384-dimensional dense vectors directly in the browser to perform instant offline semantic and natural language search across thousands of entries without any external API keys or cloud AI costs. - Cross-Device Index Synchronization: Search vector embeddings are serialized and synced to Google Drive (
Journal/search_index.json). Opening the app on a new device downloads the compact index in <200ms, enabling instant semantic search across 3,000+ historical entries immediately without re-indexing. - Privacy-Preserving Geolocation & Reverse Geocoding: Pre-permission in-app dialog prevents accidental permanent browser location blocks. Automatically reverse-geocodes GPS coordinates into human-readable place and city names.
- Idempotent Journey ZIP Importer: Built-in 1-click importer that extracts, parses, and converts historical and future-dated Journey exports (HTML to clean Markdown with YAML frontmatter) directly in the browser with full duplicate prevention.
- Independent Split-Pane Editor & Markdown Renderer: Markdown formatting toolbar, live preview, weather/mood selector, tag pill management, photo attachments with lightbox zoom, and continuous infinite scroll batching.
Architecture & Hosting
- Frontend Framework: Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS v4, Lucide Icons, and Hugging Face Transformers.js (ONNX Runtime WebAssembly).
- Datastore & Storage: IndexedDB (via
idb), Google Identity Services (GSI OAuth 2.0), and Google Drive REST API v3. - Infrastructure & Hosting: Google Cloud Run with scale-to-zero autoscaling in
us-central1, Google Artifact Registry, and automated Google Cloud Build CI/CD deployment with custom domain mapping atjournal.aldianapps.com.
Next.js 16 React 19 ONNX WebAssembly Vector Embeddings Google Drive API IndexedDB Google Cloud Run