Skip to main content
MoodHaven Journal v1.0 — Shipped

MoodHaven Journal v1.0 — Shipped

May 23, 20263 min readby Ken LaCroix

A year ago, the first commit landed. Today, v1.0 is out.

It runs on Windows, macOS, Linux, and in your browser. Your entries stay on your device, encrypted with a key only you hold. No accounts. No servers in the middle.

What shipped

Local-first encryption. Every entry is encrypted with AES-256-GCM before it's written to disk. The key is derived from your password using PBKDF2 with 600,000 iterations. The Rust backend stores ciphertext — it never sees plaintext content.

LAN peer sync. Two of your own devices sync directly over your local network. They discover each other via mDNS, pair with a QR code and PIN, and exchange encrypted entries over a direct TCP connection. No relay server. The transport key is derived from both devices' Ed25519 public keys — if you don't control the private keys, you can't read the traffic.

Wear OS companion. Record a voice memo on your wrist. The audio is forwarded to your desktop, transcribed locally with whisper.cpp, and waiting in a review queue. The audio file is deleted after transcription. No cloud speech API is involved.

AI insights, your way. Mood trends, writing streaks, and pattern nudges run entirely on your device. For deeper analysis, connect your own OpenAI key or a local Ollama instance — your journal text never leaves your machine either way.

Time capsule. Seal an entry and set a date. MoodHaven locks it until then and surfaces it when the date arrives. Paired with On This Day, your past writing comes back to you when it's ready.

Browser app. journal.moodhaven.app works in any modern browser — on a phone, tablet, or desktop. Same encryption model, same features, no install required. IndexedDB replaces SQLite in the browser build; the privacy guarantees are identical.

702 tests

The test suite covers encryption, sync logic, analytics, UI components, hooks, and the browser backend shim. Catching regressions before users do is the whole game.

What's next

StillHaven shipped in v1.1. It's a bilateral audio stimulation companion built into all builds — enable it in Settings → Health. If you're curious about the thinking behind it, read the v1.1 post.

MoodHaven is MIT licensed. The full source is on GitHub. The desktop app is on the download page.

Behind the build

If you want the full story — seven months of building with an AI pair programmer, how the security architecture evolved, the peer sync rabbit hole, and what vibe coding actually means in practice — I wrote about it in detail on my personal site:

Seven Months of Vibe Coding: How I Built a Privacy-First Journal App with an AI Pair Programmer →

Try MoodHaven Journal

Free, open-source, and private. Your journal stays on your device — always encrypted, never shared.