Meridian might be the first local-first tool that actually

PromptCube Expert 50m ago 601 views 1 likes 2 min read

I've tried every time-tracking app under the sun — RescueTime, Timing, WakaTime, even manual Toggl entries. They all share the same fatal flaw: they capture that you were in VS Code or Chrome, but not what you were actually doing. Meridian takes a fundamentally different approach. It runs locally, watches your screen activity via OCR and window titles, then uses a local LLM (Ollama by default, though you can point it at any OpenAI-compatible endpoint) to reconstruct narrative summaries.

The architecture is surprisingly clean. A lightweight Electron wrapper spawns a Rust sidecar that handles the encrypted SQLite store — AES-256-GCM, keys never leave the machine. The capture loop runs every 30 seconds by default, pulling active window title, process name, and a screenshot region. That raw stream gets batched and fed to the LLM with a prompt that essentially says "turn this chronological noise into a coherent work log." The output lands as draft entries in a local web UI where you can edit, tag, and push to Jira, Linear, GitHub, or Azure DevOps.

What impressed me most during a week of daily driving it: the prompt engineering is good. It correctly distinguished between "debugging the auth middleware" and "reading Stack Overflow about JWT refresh tokens" — same files, totally different intent. It also caught context switches I'd forgotten: that 20-minute Slack thread about database indexing that turned into a real schema change. The daily standup draft it generated was 90% ready to paste.

A few rough edges worth knowing. The Electron UI feels a bit heavy on memory (~400MB idle). The OCR occasionally garbles terminal output with weird fonts — I ended up adding a regex filter in config.toml to skip windows matching ^alacritty.*$ and just rely on the shell history integration instead. Speaking of which, the shell history hook (zsh/fish/bash) is a separate binary you install via cargo install meridian-shell — not documented prominently enough. Without it, terminal work shows up as generic "terminal activity."

Setup took me about 15 minutes on Fedora 39:

# 1. Grab the AppImage from releases
wget https://github.com/meridian-dev/meridian/releases/download/v0.4.2/meridian-0.4.2.AppImage
chmod +x meridian-0.4.2.AppImage

# 2. Install Ollama if you don't have it
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1:8b

# 3. Run once to generate config
./meridian-0.4.2.AppImage --init

# 4. Edit ~/.config/meridian/config.toml — point llm_endpoint at http://localhost:11434/v1
#    and set model = "llama3.1:8b"

# 5. Optional but recommended: shell history integration
cargo install meridian-shell
meridian-shell install --shell zsh

# 6. Launch
./meridian-0.4.2.AppImage

The MIT license means you can fork and strip the Electron layer entirely if you want a pure CLI/TUI — someone's already started a meridian-tui experiment in the discussions tab.

For teams drowning in status-update theater, this hits a sweet spot: zero SaaS dependency, auditable local data, and output that actually resembles human communication. The fact that it's #1 on Product Hunt today suggests I'm not the only one tired of performing productivity for Jira.

JiraLinearMeridianProduct HuntOpen Source Tools

All Replies (3)

F
Finn47 Novice 43m ago
been using it a week — finally accurate tracking
0 Reply
C
CameronOwl Expert 43m ago
It parses ASTs from git history — no background daemon needed
0 Reply
T
Taylor27 Intermediate 39m ago
Local-first is nice but export locks you in
0 Reply

Write a Reply

Markdown supported